Как выполнять «if» и «else» одновременно?

Интересная проблема:

Изменить public static void main (String [] args) {if () {System.out.println ("Hello"); } else {System.out.println («Мир»); }} и распечатайте «Hello World»

    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»);}} («Hello») »в main () {if (printf (« Hello »), 0) printf (« Hello »); else printf ("мир! n"); Геч (); }, но это не работает, никаких идей?

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");
    }
}

ОБНОВЛЕНИЕ: Я думаю, что это работает:

if (System.out.printf("%s","Hello ") == null) {
    System.out.println("Hello");
} else {
    System.out.println("World");
}

В C:

if

java,

2

Ответов: 11


20 принят

Tadaaaa:

boolean

Я могу предложить

System.out.println

4

Это не работает, потому что в Java voidожидает выражение типа if. System.out.printlnне имеет возврата тип, есть else. Вот почему это не работает.


4

Мои 2 цента: ни одно из решений, включая решение orginigal C, фактически выполняет как if«и», так и « printf("Hello")». Все представленные здесь решения выполняются и явны elseкак часть логического выражения в условии . Во всех решениях это условие ложно, и ifветка затем выполняется. Но ifэто не так .


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");
        }
    }
}
Ява,