如何同时执行“if”和“else”?

时间:2012-05-25 17:34:54

标签: java

有趣的问题:

更改if语句并打印出“Hello World”

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

我的解决方案是添加“!System.out.println(”Hello“)” 在if语句中,但它没有用,有什么想法吗?

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

12 个答案:

答案 0 :(得分:22)

Tadaaaa:

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

答案 1 :(得分:5)

我可以提供

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

答案 2 :(得分:4)

它不起作用,因为在Java if中需要一个类型为boolean的表达式。 System.out.println没有返回类型,它是void。这就是为什么它不起作用。

答案 3 :(得分:4)

我的2美分: 包括orginigal C解决方案在内的所有解决方案都没有实际执行“if”和“else”。 这里介绍的所有解决方案都是执行和显式 printf("Hello")作为条件中布尔表达式的一部分。在所有解决方案中,该条件为false,然后执行else分支。但实际的if 不是

答案 4 :(得分: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");
        }
    }
}

答案 5 :(得分:1)

打开args的内容并使用两个不同的参数运行程序两次。

除非修改println构造,否则您的程序将打印出“Hello”或“World”,除非您修改if()的输入。

答案 6 :(得分:1)

考虑下面的代码在 C 中执行两个 if-else 块语句。

#include <stdio.h>
#include <stdbool.h>
int main()
{

  bool flag = false;
  if(flag)
  {
    printf("if block returns true-> now redirecting to else");
    goto el;
    i:
    printf(" redirected to if");
  }
  else
  {
    printf("if block returns false-> now redirecting to if");
    goto i;
    el:
    printf(" redirected to else");
  }
}

只需更改上面代码中的标志值即可。 例如,如果标志值更改为 true,则首先执行 if 块,然后执行 else。

答案 7 :(得分:0)

您可以使用append代替println来确定写入是否成功:

if (System.out.append("Hello World" + System.getProperty("line.separator")) != null)
{
    // some code here
}

答案 8 :(得分:0)

** Try this one **
class Test
{
    public static void main(String args[])
    {
        boolean one=true;
        for(int i=0;i<2;i++)
        {
        if(one)
        {
            System.out.print("Hello");
            one=false;  
        }   
        else

            System.out.println("World!");

        }       
    }
}`

答案 9 :(得分:0)

01 * * * * root echo "This command is run at one min past every hour"
17 8 * * * root echo "This command is run daily at 8:17 am"
17 20 * * * root echo "This command is run daily at 8:17 pm"
00 4 * * 0 root echo "This command is run at 4 am every Sunday"
* 4 * * Sun root echo "So is this"
42 4 1 * * root echo "This command is run 4:42 am every 1st of the month"
01 * 19 07 * root echo "This command is run hourly on the 19th of July"

这可行,但理解上有点复杂

答案 10 :(得分:-1)

这也可以使用&#34; printf&#34;没有指定格式。代码如下:

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

答案 11 :(得分:-1)

检查一下......

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