此代码是否符合 Java 中的蒯因?
Does this code qualify as a Quine in Java?
这是代码。它基本上是从原始代码文件中读取并打印到终端上。
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 的条件?考虑到我仍然将文件作为参数传递给它。尽管它是程序员指定的而不是用户输入的输入,但它仍然被视为输入吗?
它不被认为是有效的 quine,您必须避免任何 I/O 操作。
打开源代码打印出来是避免第一个外挂!
无论如何它只会打印 class Quine 的代码(不是使其可运行实际需要的源 - 主要方法)。所以,不,它不是蒯因。
A quine is a non-empty computer program which takes no input and
produces a copy of its own source code as its only output.
这是代码。它基本上是从原始代码文件中读取并打印到终端上。
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 的条件?考虑到我仍然将文件作为参数传递给它。尽管它是程序员指定的而不是用户输入的输入,但它仍然被视为输入吗?
它不被认为是有效的 quine,您必须避免任何 I/O 操作。
打开源代码打印出来是避免第一个外挂!
无论如何它只会打印 class Quine 的代码(不是使其可运行实际需要的源 - 主要方法)。所以,不,它不是蒯因。
A quine is a non-empty computer program which takes no input and produces a copy of its own source code as its only output.