<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">public class Quine {

  static String quote = "\"";
  static String slash = "\\";
  static String semi = ";";
  static String s = "s";
  static String percent = "%";
  static String space = " ";
  static String comma = ",";

  static String[] javaProgram = {
    "public class Quine {",
    "  static String quote = ",
    "  static String slash = ",
    "  static String semi = ",
    "  static String s = ",
    "  static String percent = ",
    "  static String space = ",
    "  static String comma = ",
    "  static String[] javaProgram = {",
    "  };",
    "  static String[] cProgram = {",
    "  };",
    "  public static final void main(String[] args) {",
    "    System.out.println(cProgram[0]);",
    "    System.out.println(cProgram[1]);",
    "    System.out.println(cProgram[2]);",
    "    System.out.print(cProgram[3]);",
    "    System.out.println(quote + slash + quote + quote + semi);",
    "    System.out.print(cProgram[4]);",
    "    System.out.println(quote + percent + s + quote + semi);",
    "    System.out.print(cProgram[5]);",
    "    System.out.println(quote + space + space + slash + quote + percent + s + slash + quote + quote + semi);",
    "    System.out.println();",
    "    System.out.println(cProgram[6]);",
    "    for (int i = 0; i &lt; javaProgram.length; i++) {",
    "      System.out.print(space);",
    "      System.out.print(space);",
    "      System.out.print(quote + javaProgram[i] + quote);",
    "      if (i &lt; javaProgram.length - 1)",
    "        System.out.println(comma);",
    "      else",
    "        System.out.println();",
    "    }",
    "    System.out.println(cProgram[7]);",
    "    System.out.println();",
    "    System.out.println(cProgram[8]);",
    "    for (int i = 0; i &lt; cProgram.length; i++) {",
    "      System.out.print(space);",
    "      System.out.print(space);",
    "      System.out.print(quote + cProgram[i] + quote);",
    "      if (i &lt; cProgram.length - 1)",
    "        System.out.println(comma);",
    "      else",
    "        System.out.println();",
    "    }",
    "    System.out.println(cProgram[9]);",
    "    System.out.println();",
    "    for (int i = 10; i &lt; cProgram.length; i++) {",
    "      System.out.println(cProgram[i]);",
    "    }",
    "  }",
    "}"
  };

  static String[] cProgram = {
    "#include &lt;stdio.h&gt;",
    "#define JAVA_LENGTH 52",
    "#define C_LENGTH 49",
    "char* quote = ",
    "char* string = ",
    "char* quotedString = ",
    "char* javaProgram[] = {",
    "};",
    "char* cProgram[] = {",
    "};",
    "int main() {",
    "  int i;",
    "  printf(string, javaProgram[0]);putchar(10);",
    "  putchar(10);",
    "  printf(string, javaProgram[1]);putchar(34);putchar(92);putchar(34);putchar(34);putchar(59);putchar(10);",
    "  printf(string, javaProgram[2]);putchar(34);putchar(92);putchar(92);putchar(34);putchar(59);putchar(10);",
    "  printf(string, javaProgram[3]);putchar(34);putchar(59);putchar(34);putchar(59);putchar(10);",
    "  printf(string, javaProgram[4]);putchar(34);putchar(115);putchar(34);putchar(59);putchar(10);",
    "  printf(string, javaProgram[5]);putchar(34);putchar(37);putchar(34);putchar(59);putchar(10);",
    "  printf(string, javaProgram[6]);putchar(34);putchar(32);putchar(34);putchar(59);putchar(10);",
    "  printf(string, javaProgram[7]);putchar(34);putchar(44);putchar(34);putchar(59);putchar(10);",
    "  putchar(10);",
    "  printf(string, javaProgram[8]);putchar(10);",
    "  for (i = 0; i &lt; JAVA_LENGTH; i++) {",
    "    putchar(32);",
    "    putchar(32);",
    "    printf(quotedString, javaProgram[i]);",
    "    if (i &lt; JAVA_LENGTH -1 )",
    "      putchar(44);",
    "    putchar(10);",
    "  }",
    "  printf(string, javaProgram[9]);putchar(10);",
    "  putchar(10);",
    "  printf(string, javaProgram[10]);putchar(10);",
    "  for (i = 0; i &lt; C_LENGTH; i++) {",
    "    putchar(32);",
    "    putchar(32);",
    "    printf(quotedString, cProgram[i]);",
    "    if (i &lt; C_LENGTH -1 )",
    "      putchar(44);",
    "    putchar(10);",
    "  }",
    "  printf(string, javaProgram[11]);putchar(10);",
    "  putchar(10);",
    "  for (i = 12; i &lt; JAVA_LENGTH; i++) {",
    "    printf(string, javaProgram[i]);putchar(10);",
    "  }",
    "  return 0;",
    "}"
  };

  public static final void main(String[] args) {
    System.out.println(cProgram[0]);
    System.out.println(cProgram[1]);
    System.out.println(cProgram[2]);
    System.out.print(cProgram[3]);
    System.out.println(quote + slash + quote + quote + semi);
    System.out.print(cProgram[4]);
    System.out.println(quote + percent + s + quote + semi);
    System.out.print(cProgram[5]);
    System.out.println(quote + space + space + slash + quote + percent + s + slash + quote + quote + semi);
    System.out.println();
    System.out.println(cProgram[6]);
    for (int i = 0; i &lt; javaProgram.length; i++) {
      System.out.print(space);
      System.out.print(space);
      System.out.print(quote + javaProgram[i] + quote);
      if (i &lt; javaProgram.length - 1)
        System.out.println(comma);
      else
        System.out.println();
    }
    System.out.println(cProgram[7]);
    System.out.println();
    System.out.println(cProgram[8]);
    for (int i = 0; i &lt; cProgram.length; i++) {
      System.out.print(space);
      System.out.print(space);
      System.out.print(quote + cProgram[i] + quote);
      if (i &lt; cProgram.length - 1)
        System.out.println(comma);
      else
        System.out.println();
    }
    System.out.println(cProgram[9]);
    System.out.println();
    for (int i = 10; i &lt; cProgram.length; i++) {
      System.out.println(cProgram[i]);
    }
  }
}
</pre></body></html>