Ввод правильный, но вывод не совпадает с вводом - PullRequest
0 голосов
/ 05 октября 2019

Я делаю простой калькулятор a + b как один из моих первых проектов на Java. И я знаю, что 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);
        }

    }


}

Ответы [ 2 ]

1 голос
/ 05 октября 2019

Вам нужно преобразовать Input в int. Используйте Integer.parseInt (), но вы должны поместить это в оператор try catch, так как возможно, что String не конвертируем (если вы не вводите целое число). И поскольку int является примитивным типом данных, вам не нужно равно, == достаточно.

Вы также можете преобразовать результат в строку и использовать метод equals.

0 голосов
/ 05 октября 2019

Изменить

if (input.equals(result)) {

на

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