java - "The value of the local variable is not used."

标签 java boolean

package checkPrime;

import java.util.Scanner;

public class CheckPrime {

    public static void main(String[] args) {

        boolean isPrime = true;

        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter a number: ");   
        int n = scanner.nextInt();

        scanner.close();

        for (int i = 2; i < n; i++) {

            if (n % i == 0) {

                isPrime = false;

            }

        }

        if (isPrime = false || n == 1) {

            System.out.print(n + " is not prime.");

        } else {

            System.out.print(n + " is prime.");

        }

    }

}

所以我编写了这个程序来检查一个数字是否为素数并且运行良好,但是我在声明 boolean 值“isPrime”的行上收到此错误:“未使用局部变量 isPrime 的值。” 。它不会影响我的程序的功能,但我想知道是否有任何方法可以让它消失。

最佳答案

你在这里犯了一个错误:

if (isPrime = false || n == 1) {

应该是:

if (isPrime == false || n == 1) {
            ^^
      double equals!

出现警告的原因是,如果没有双等号,您将分配给 isPrime,而不是将其与 false 进行比较。如果您在这里这样做,那么在整个程序中,您只分配给 isPrime 但从未使用过它的值。

顺便说一句,赋值语句的计算结果为分配给它的值,因此 isPrime = false 将始终计算为 false。这也是编译器没有警告您使用 = 的原因。

关于java - "The value of the local variable is not used.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47611434/

相关文章:

python - "banana"< "orange"为真,"banana"< "Orange"为假,但为什么呢?

java - 使用 opencsv.CSVReader 中的 CSVReader 作为字符串

java - 仅使用一个查询执行批处理?

java - 自定义 JPanel 未更新

java - 关系有一个,继承和类型转换

python - 基于连通邻域的 boolean 交集 - NumPy/Python

java - 使用 docker-java 客户端库获取所有容器/图像

ruby-on-rails - 对于 Rails 中的某些情况,如何实现是/否而不是 boolean 值?

c++ - 将 boolean 值写入文件

java - while 循环的问题