作为Java的第一个项目,我正在制作一个简单的a + b计算器。而且我知道Result应该是12。Java甚至向我显示结果是12,但是如果我输入的结果是12,我的代码会告诉我输入不等于结果。
我已经坐了一段时间了,我不明白我做错了什么。
有人可以帮我吗?
import java.util.Scanner;
public class MethodMan {
public static void main(String[] args) {
calculate(5, 7);
}
public static void calculate(int a, int b)
{
Scanner sc = new Scanner(System.in);
System.out.println("What is: " + a + "+" + b + "?");
String input = sc.nextLine();
int result = a + b;
if (input.equals(result)) {
System.out.println("Correct");
}
else{
System.out.println("Wrong: The Result is: "+result);
}
}
}
更改
if (input.equals(result)) {
to
if (Integer.parseInt(input) == result) {
您需要将Input转换为int。使用Integer.parseInt(),但是您必须将其放入try catch语句中,因为String可能是不可转换的(如果您不输入整数)。由于int是原始数据类型,因此您不需要等于,==就足够了。
您还可以将结果转换为String并使用equals方法。