あなたの仕事は文字通りそのように書かれていますか:「以下のプログラムを印刷するように書き直してください/注:メインメソッドを変更することはできません」?
シーーン: [邪悪な笑み]
public class Program {
public static void main(String args[]){
System.out.println(“Hi”);
System.out.println(“Good Bye”);
}
}
class Program2 {
public static void main(String args[]){
try{
System.out.println(“Hi”);
System.exit(0);
}
finally{
System.out.println(“Good Bye”);
}
}
}
クラス名を変更できないと誰も言わなかったからです:)
または、クラス名を同じままにする必要がある場合は、クラス名を交換し、代わりにコマンドラインから Program2.main を実行します。エントリポイントを変更できないとは誰も言っていないからです :))
今回はより便利な別の邪悪なサンプル:
他のクラス名とパッケージを改ざんできないとは誰も言いませんでした:
// import NOTHING
package blargh; // note this!
class System {
public static java.io.PrintStream out = java.lang.System.out;
public static void exit(int ignored) { }
}
class Program {
public static void main(String args[]){
try{
System.out.println(“Hi”);
System.exit(0);
}
finally{
System.out.println(“Good Bye”);
}
}
}
等..