任务是这样的 - 根据 n 的值打印“正”、“负”或“零”。我可以用 if 写正数和负数部分,但不能写最后一个“零”部分。如果我写 0 然后按空格键,则会显示“零”。但如果我只写 0,就会出错。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int n = sc.nextInt();
if (n>0) {
System.out.println("Positive");
} else if (n<0) {
System.out.println("Negative");
} else if (n == 0); {
System.out.println("Zero");
}
sc.close();
}
}
最佳答案
代码中多了一个分号
// ...
} else if (n == 0); { // <---- HERE
System.out.println("Zero");
}
这意味着代码块不依赖于if
。事实上,if
正在尝试运行一个空语句。
删除分号或完全删除条件。毕竟,如果一个整数既不小于也不大于零,则它必须为零。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int n = sc.nextInt();
if (n>0) {
System.out.println("Positive");
} else if (n<0) {
System.out.println("Negative");
} else {
System.out.println("Zero");
}
sc.close();
}
}
关于java - 如何解决If语句使用3次的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57947811/