java - 输入正确,但输出与输入不符

标签 java input output match

我正在制作一个简单的 a+b 计算器,作为我的第一个 Java 项目之一。 我知道结果应该是 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);
        }

    }


}

最佳答案

您需要将输入转换为 int。使用 Integer.parseInt(),但您必须将其放入 try catch 语句中,因为 String 可能不可转换(如果您不输入整数)。并且由于 int 是原始数据类型,因此您不需要 equals , == 就足够了。

您还可以将结果转换为字符串并使用 equals 方法。

关于java - 输入正确,但输出与输入不符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58248271/

相关文章:

java - 编译时性能成本

java - 如果该类不用作 HashMap 中的键,是否有任何实际意义来覆盖哈希码?

jquery - 使用 jQuery 输入文件的完整路径

javascript - 将旧值作为 "ghost"thumb 添加到 <input type ="range"> Slider

linux - bash 命令输出中的行作为字符串存储在变量中

java - 如何在 Spring MVC 中以单一形式编辑两个模型类

java - 错误 : Java:31 cannot find symbol

python - 如何从 python 中的后台线程读取键盘输入?

python - 将输出命令重定向到变量或文件?

c++ - 需要帮助在循环/数组程序 C++ 中显示值