4

興味深い問題:

if ステートメントを変更し、「Hello World」を出力します。

    public static void main(String[] args) {
        if(){
            System.out.println("Hello");
        }else{
            System.out.println("World");
        }
    }

私の解決策は、if ステートメントに "!System.out.println("Hello")" を追加することですが、うまくいきません。

    public static void main(String[] args) {
        if(!System.out.println("Hello")){
            System.out.println("Hello");
        }else{
            System.out.println("World");
        }
    }

更新:これはうまくいくと思います:

    public static void main(String args[]) {    
        if(System.out.append("Hello ")==null){
            System.out.print("Hello ");
        }else{
            System.out.println("World");
        } 
    }

C:

main()
{   if(printf("Hello"),0)
         printf("Hello");
    else
       printf(" world!\n");
   getch();
}
4

12 に答える 12

22

ただああ:

public static void main(String args[]) {    
    if(!new Object() {
        public boolean foo() {
            System.out.print("Hello ");
            return true;
        }
    }.foo()){
        System.out.println("Hello");
    }else{
        System.out.println("World");
    }
}
于 2012-05-25T17:39:44.747 に答える
5

私は提供することができます

if (System.out.printf("%s","Hello ") == null) {
    System.out.println("Hello");
} else {
    System.out.println("World");
}
于 2012-05-25T17:41:12.113 に答える
4

ifJava ではtype の式が必要なため、機能しませんbooleanSystem.out.printlnには戻り値の型がありません。それはvoidです。それがうまくいかない理由です。

于 2012-05-25T17:36:56.447 に答える
4

私の2セント:元のCソリューションを含め、実際に「if」と「 」の両方を実行するソリューションはありませんelse。ここに示すすべてのソリューション は、条件printf("Hello")のブール式の一部として実行および明示されます。すべてのソリューションで、その条件は false であり、分岐が実行されます。しかし、実際はそうではありませんelseif

于 2012-05-25T19:18:51.427 に答える
2
public class HelloWorld{
    public static void main(String[]args){
        if (new Object(){{ System.out.print("Hello "); }} == null){
            System.out.println("Hello");
        }else{
            System.out.println("World");
        }
    }
}
于 2012-05-25T17:42:05.190 に答える
1

の内容をオンにして、args2 つの異なるパラメーターを使用してプログラムを 2 回実行します。

コンストラクトprintlnを修正するだけでなく入力を変更しない限り、プログラムは「Hello」または「World」のいずれかを出力します。if()

于 2012-05-25T17:41:17.563 に答える
0
public class Test {  

       public static void main(String args[]) {  

            if (args==null || new Test() {{Test.main(null);}}.equals(null)) {  
                     System.out.print("Hello ");
            } else {  
                     System.out.print("World!");  
            }  
       }  
}  

これは機能しますが、理解するのが少し複雑です

于 2016-10-27T14:45:04.663 に答える
0

これをチェック...

class Test {

    static boolean x = true;

    public static void main(String[] args) {
        ifAndElse();

    }

    public static void ifAndElse(){
        if (x) {
            System.out.println("hi");
            x = false;
            ifAndElse();
        } else {
            System.out.println("hello");
        }
    }
}
于 2016-05-18T06:39:52.717 に答える
0

これは、形式を指定せずに「printf」を使用して実現することもできます。コードは次のようになります。

if (System.out.printf("Hello") == null) {
    System.out.print("Hello");
} else {
    System.out.println("World");
}
于 2014-09-24T11:10:38.307 に答える
0

append代わりにprintln、書き込みが成功したかどうかを判断するために使用できます。

if (System.out.append("Hello World" + System.getProperty("line.separator")) != null)
{
    // some code here
}
于 2012-05-25T17:41:48.727 に答える