java - 如何解决If语句使用3次的问题?

标签 java if-statement

任务是这样的 - 根据 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/

相关文章:

java - 将此空检查转换为 java 8 可选

Python 命令有效,但为什么呢?

r - 管理 IF-ELSE 语句中 ELSE 的数量

java - 如何避免 ExecutorService 覆盖 Runnable 的安全主体

java - Spring session bean : initialize with values

java - 安卓 : Picasso is not loading some images

java - 是否可以使用过滤器查看整个 REST 请求正文/有效负载

python - 为什么 ... == True 在 Python 3 中返回 False?

C++, 'if' 表达式中的变量声明

java - 将队列顶部与数组列表元素进行比较