“本地变量的值未使用。”

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.");

}

}

}

所以我写了这个程序来检查一个数字是否为素数,并且它工作正常,但是我在声明了布尔型“isPrime”的行上得到这个错误:“本地变量isPrime的值未被使用“。它不影响我的程序的功能,但我想知道是否有任何方法可以让它消失。“本地变量的值未使用。”

回答:

if说法是错误的 - 你正在使用的=运营商分配falseisPrime,而不是检查,如果它是false==操作:

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

// Here-^

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

} else {

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

}

或者,由于isPrimeboolean,只是对其进行评估直接:

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

// Here^

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

} else {

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

}

回答:

你在这里犯了一个错误:

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

它应该是:发生

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

^^

double equals!

的警告,因为没有双等号,你需要将其与false比较分配给isPrime代替。如果你这样做,那么在整个程序中,你只分配到isPrime,但从未使用过它的值。

顺便说一下,赋值语句的赋值是赋值给它的,所以isPrime = false总是会计算为false。这也是编译器没有警告你使用=的原因。

以上是 “本地变量的值未使用。” 的全部内容, 来源链接: utcz.com/qa/257808.html

回到顶部