| CSCI A201/A597Lab Notes Sixteen Second Summer 2000 |
What do you think this program is doing?
class R {
public static void main(String[] args) {
String b = " System.out.println(\"class R {\");\n" +
" System.out.println(\" public static void main(String[] args) {\");\n" +
" System.out.print(\" String b = \\\"\");\n" +
" for (int i = 0; i < b.length(); i++) {\n" +
" char c = b.charAt(i);\n" +
" if (c == '\\n') System.out.print(\"\\\\n\\\" + \\n \\\"\");\n" +
" else { if (c == '\\\\' || c == '\\\"')\n" +
" System.out.print('\\\\');\n" +
" System.out.print(c);\n" +
" }\n" +
" }\n" +
" System.out.print(\"\\\";\\n\");\n" +
" System.out.println(b + \" }\\n}\");";
System.out.println("class R {");
System.out.println(" public static void main(String[] args) {");
System.out.print(" String b = \"");
for (int i = 0; i < b.length(); i++) {
char c = b.charAt(i);
if (c == '\n') System.out.print("\\n\" + \n \"");
else { if (c == '\\' || c == '\"')
System.out.print('\\');
System.out.print(c);
}
}
System.out.print("\";\n");
System.out.print(b + "\n }\n}");
}
} Can you write a shorter one?