输入正确,但输出与输入不匹配

问题描述 投票:0回答:2

作为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);
        }

    }


}
java input output match
2个回答
0
投票

更改

if (input.equals(result)) {

to

if (Integer.parseInt(input) == result) {

0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.