如何解决;类型不匹配:无法从int转换为boolean;java错误?
我正在写《java编程入门》一书,当我试图运行书中的一个示例时,我遇到了一个无法解决的错误。 代码是如何解决;类型不匹配:无法从int转换为boolean;java错误?,java,Java,我正在写《java编程入门》一书,当我试图运行书中的一个示例时,我遇到了一个无法解决的错误。 代码是 import java.util.Scanner; public class SubtractionQuizLoop { public static void main(String[] args) { // TODO Auto-generated method stub final int NUMBER_OF_QUESTIONS = 5;
import java.util.Scanner;
public class SubtractionQuizLoop {
public static void main(String[] args) {
// TODO Auto-generated method stub
final int NUMBER_OF_QUESTIONS = 5;
int correctCount = 0;
int count = 0;
long startTime = System.currentTimeMillis();
String output = " ";
Scanner input = new Scanner(System.in);
while(count < NUMBER_OF_QUESTIONS) {
int number1 = (int)(Math.random() * 10);
int number2 = (int)(Math.random() * 10);
if (number1 < number2){
int temp = number1;
number1 = number2;
number2 = temp;
}
System.out.println("What is " + number1 + " minus " + number2 + "?");
int answer = input.nextInt();
if(number1 - number2 == answer) {
System.out.println("You are correct");
correctCount++;
}else {
System.out.println("Your answer is wrong.\n" + number1 + "-" + number2 + "=" + (number1 - number2));
}
count++;
output += "\n" + number1 + "–" + number2 + "=" + answer + ((number1 – number2 == answer) ? " correct": " wrong");
}
long endTime = System.currentTimeMillis();
long testTime = endTime - startTime;
System.out.println("Correct count is " + correctCount + "\nTest time is " + testTime / 1000 + "seconds\n" + output);
}
}
}
当我尝试更新输出变量时。将
(number1–number2==answer)
转换为int
和布尔值也不能解决错误。你知道如何解决这个问题吗?这能回答你的问题吗?您似乎在该表达式中使用了破折号而不是减号,否则您的代码应该可以工作。此外,您有太多的右大括号-可能是因为代码开始count++代码>缩进不正确。@Sweeper我使用连字符而不是减号,并且在末尾添加了不需要的括号。@JonSkeet我也看到了。现在问题解决了,谢谢。
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Type mismatch: cannot convert from int to boolean
Syntax error on token "Invalid Character", invalid AssignmentOperator
Type mismatch: cannot convert from boolean to int
at SubtractionQuizLoop.main(SubtractionQuizLoop.java:41)