Java语法缺陷

时间:2014-10-25 13:55:55

标签: java windows

为什么NetBeans没有显示以下代码的错误警告?我认为"同时"声明要求括号。

public static void main(String[] args) {
    // TODO code application logic here
int x;
int y = 0;

Scanner input;
input = new Scanner(System.in);
x= input.nextInt();
    do {
y=y+1;

if  (y == 0){
    System.out.println("Eroare");
}while (x == 0 )

if  (y == 0){
    System.out.println("Eroare");
}while (x == 1 )

 if (x%y == 0){
    System.out.println (y);
}

}while (y<x);


}

3 个答案:

答案 0 :(得分:2)

没有。 while语句也可以使用单行语句。

while (true) ; // <-- infinite loop. Empty block consisting of a semi-colon.

答案 1 :(得分:1)

while语句不需要括号,也不需要ifelse等。

以下代码段

if (foo) {
    bar;
}

相当于

if (foo)
    bar;

这是相同的代码,清理一下(只更改空格),以便您可以看到正在发生的事情:

Scanner input;
input = new Scanner(System.in);
x = input.nextInt();
do {
    y = y + 1;
    if (y == 0){
        System.out.println("Eroare");
    }
    while (x == 0)
        if (y == 0){
            System.out.println("Eroare");
        }
    while (x == 1)
        if (x%y == 0){
            System.out.println (y);
        }
} while (y < x);

答案 2 :(得分:0)

虽然声明可以在没有护腕的情况下使用,但

while(condition)     Stmt;