【问题标题】:Does this code qualify as a Quine in Java?此代码是否符合 Java 中的 Quine 条件?
【发布时间】:2016-03-05 07:11:09
【问题描述】:

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

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 类的代码(而不是使其可运行实际需要的源代码)...您的主要方法在哪里?
  • 此外,它不符合 quine 的条件,因为这里的整个概念取决于源位于“C:\Quine.java”的事实。从其他地方运行它,它就坏了。

标签: java theory quine


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    它不是一个有效的quine,你必须避免任何I/O操作。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 2010-12-20
    • 2018-11-25
    • 1970-01-01
    • 2023-03-27
    • 2020-12-08
    • 2020-02-25
    相关资源
    最近更新 更多