我已经尝试过这项任务.但是当我输入1时它不应该给出任何输出,因为1> 0且1不是偶数但我仍然得到输出为:
Enter a +ve number
1
You entered 1
I'd asked for a +ve number :)
Run Code Online (Sandbox Code Playgroud)
.
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a +ve number");
int number = input.nextInt();
System.out.println("You entered "+number);
if(number > 0)
if(number %2 == 0)
System.out.println("Number"+number+" is even and +ve");
else
System.out.println("I'd asked for a +ve number :)");
}
}
Run Code Online (Sandbox Code Playgroud)
你的其他人实际上属于第二个 if而不是第一个,if因为缩进显示.
if(cond1)
if(cond2)
else // this else belongs to 2nd if not 1st if.
Run Code Online (Sandbox Code Playgroud)
与:
if(cond1) {
if(cond2) {
} else {
}
}
Run Code Online (Sandbox Code Playgroud)
这是因为Java语法说其他属于它可能属于的最接近的不匹配项.
如果您想要将else与first匹配,则需要使用括号:
if(cond1) {
if(cond2) {
}
} else {
}
Run Code Online (Sandbox Code Playgroud)
这可能是因为你ifs的解释如下:
if(number > 0)
if(number %2 == 0)
System.out.println("Number"+number+" is even and +ve");
else
System.out.println("I'd asked for a +ve number :)");
Run Code Online (Sandbox Code Playgroud)
电脑应该怎么知道你的意思?您需要使用括号使其明确:
if(number > 0) {
if(number %2 == 0) {
System.out.println("Number"+number+" is even and +ve");
}
} else {
System.out.println("I'd asked for a +ve number :)");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1453 次 |
| 最近记录: |