除了维基百科页面上列出的那个之外,还有其他Java quines吗?

时间:2013-03-10 22:37:14

标签: java algorithm puzzle quine

我知道有一个程序代码打印自己是Quine code
如下

public class Quine
{
  public static void main( String[] args )
  {
    char q = 34;      // Quotation mark character
    String[] l = {    // Array of source code
    "public class Quine",
    "{",
    "  public static void main( String[] args )",
    "  {",
    "    char q = 34;      // Quotation mark character",
    "    String[] l = {    // Array of source code",
    "    ",
    "    };",
    "    for( int i = 0; i < 6; i++ )           // Print opening code",
    "        System.out.println( l[i] );",
    "    for( int i = 0; i < l.length; i++ )    // Print string array",
    "        System.out.println( l[6] + q + l[i] + q + ',' );",
    "    for( int i = 7; i < l.length; i++ )    // Print this code",
    "        System.out.println( l[i] );",
    "  }",
    "}",
    };
    for( int i = 0; i < 6; i++ )           // Print opening code
        System.out.println( l[i] );
    for( int i = 0; i < l.length; i++ )    // Print string array
        System.out.println( l[6] + q + l[i] + q + ',' );
    for( int i = 7; i < l.length; i++ )    // Print this code
        System.out.println( l[i] );
  }
}  

是否还有另一个自己打印的Java程序代码?

1 个答案:

答案 0 :(得分:4)

根据定义,Quine是一个输出本身的程序。

所以,虽然有许多可能的程序打印自己的源而不是你提供的源,但没有一个quine。

由于Java是图灵完整语言,因此可以用它来编写无限数量的quine(source)。