0

if ステートメントで互換性のない型のエラー メッセージが表示されます。変数「answer」と「input2」はどちらも整数であるため、この 2 つがどのように互換性がないのかわかりません。どんな助けや洞察も大歓迎です!

public static void addingGame()
{

    System.out.print("\n");

    System.out.println("********* Part 2: Adding Numbers **********");

    System.out.print("\n");

    Scanner inputReader = new Scanner(System.in);

    System.out.print("Would you like to add some numbers?(y/n)");
    String input = inputReader.next();

    while (!input.equals("y") && !input.equals("n"))
    {
        System.out.print("I need a y/n: ");
        input = inputReader.next();
    }    

    while (input.equals("y"))
    {
        Random numberGenerator = new Random();
        int randomNumber1 = numberGenerator.nextInt(10);
        int randomNumber2 = numberGenerator.nextInt(10);
        int answer = ((randomNumber1) + (randomNumber2));
        System.out.print( randomNumber1 + " + " + randomNumber2 + " =: ");
        int input2 = inputReader.nextInt();
        if (answer = input2)
        {
            System.out.print("Right! " + answer + " is the answer.");
        }
        else
        {
            System.out.print("Sorry, " + answer + " is the answer.");
        }

        System.out.print("Would you like to play again?(y/n)");
        input = inputReader.next();
        while (!input.equals("y") && !input.equals("n"))
        {
            System.out.print("Sorry - I need a y/n: ");
            input = inputReader.next();
        }
    }    

    System.out.print("\n");

    System.out.print("Thanks - Let's move on to Part 3...");
4

1 に答える 1

4

=値を比較したいときに代入演算子を使用しています ( ==)。変化する

if (answer = input2)

if (answer == input2)

このエラーは、代入の結果がまだ であるという事実から発生しましたint。ただし、条件が提供する をif期待しているためです。boolean==

于 2013-11-05T00:04:22.113 に答える