2

这是代码。它基本上从原始代码文件中读取并打印到终端上。

import java.io.*;
public class Quine
{
    static void Quine() throws IOException
    {
        FileReader fr = new FileReader("C:/Quine.java");        
        BufferedReader br = new BufferedReader(fr);
        String s = "";
        while((s = br.readLine()) != null)
        {
           System.out.println(s);
        }
    }
}

实际上,它工作得很好,产生与输出完全相同的代码。但根据定义,它是否有资格作为quine?考虑到我仍在将文件作为参数传递给它。尽管它是程序员指定的而不是用户输入的输入,但它仍然被视为输入吗?

4

2 回答 2

6

它不被认为是有效的quine,您必须避免任何 I/O 操作。

打开源代码打印出来,这是第一个要避免的作弊!

于 2015-12-01T11:24:05.490 回答
2

无论如何,它只会打印 Quine 类的代码(而不是使其可运行实际需要的源 - 主要方法)。所以,不,它不是奎因。

quine是一个非空的计算机程序,它不接受任何输入并生成其自己的源代码的副本作为其唯一输出。

于 2015-12-01T11:28:58.130 回答