“本地变量的值未使用。”
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
说法是错误的 - 你正在使用的=
运营商分配false
到isPrime
,而不是检查,如果它是false
与==
操作:
if (isPrime == false || n == 1) { // Here-^
System.out.print(n + " is not prime.");
} else {
System.out.print(n + " is prime.");
}
或者,由于isPrime
是boolean
,只是对其进行评估直接:
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