1

我知道有一个程序代码可以打印自己,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 程序代码?

4

1 回答 1

4

根据定义,Quine 是一个程序,其输出就是它自己。

因此,虽然有许多可能的程序可以打印除您提供的源之外的自己的源,但没有一个不是quine。

由于 Java 是一种图灵完备的语言,因此可以用它编写无限数量的 quines(源代码)。

于 2013-03-10T22:42:38.387 回答