这是代码。它基本上从原始代码文件中读取并打印到终端上。
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?考虑到我仍然将文件作为参数传递给它。尽管它是程序员指定的而不是用户输入的输入,它仍被视为输入吗?
答案 0 :(得分:6)
它不被视为有效的 quine ,您必须避免任何I / O操作。
打开源代码将其打印出来是第一个要避免的作弊行为!
答案 1 :(得分:2)
它只会打印Quine类的代码(不是实际需要的源代码才能使它运行 - 主要方法)。所以,不,它不是奎因。
quine是一个非空的计算机程序,不需要输入和 生成自己的源代码的副本作为其唯一的输出。