0

コードは機能し、非常に簡単でした。私はスイッチを使用して別のものを作成しましたが、先生はifステートメントを望んでいます。したがって、ユーザーは2つの数字を入力し、作成したprintlnメニューから選択します。ユーザーが2番目の選択を行えるようにする必要があります。たとえば、加算に「a」を選択し、後で「b」の減算を選択することもできます。すべての選択が行われた後もメニューを再現できると便利です。最初のユーザー入力番号は永続的である必要があります。

ありがとう。編集:これは動作する最終バージョンです

import java.util.Scanner;

public class Assign3

{
    public static void main (String [] args)

    {
        double numOne;
        double numTwo;
        String answerTo = null;

        System.out.println("============================");
        System.out.println("|   MENU Calculator Fun    |");
        System.out.println("============================");
        System.out.println("| Options:                 |");
        System.out.println("|        a. Add            |");
        System.out.println("|        b. Substract      |");
        System.out.println("|        c. Multiply       |");
        System.out.println("|        d. Divide         |");
        System.out.println("|        e. Mod            |");
        System.out.println("|        f. Compare        |");
        System.out.println("|        g. Print Numbers  |");
        System.out.println("|        h. Quit           |");
        System.out.println("============================");

        Scanner numFinder = new Scanner(System.in);

        System.out.println("Please enter a number then press enter then enter another number followed by enter.");

        numOne = numFinder.nextDouble();
        numTwo = numFinder.nextDouble();

        while(true)
        {   
        Scanner scan = new Scanner(System.in);
        System.out.println("Please choose an option.");
        String menuSelect = scan.next();

        if(menuSelect.length() > 1) 
        {
            System.out.println("Error, too many letters...");
        }

        else if(menuSelect.equals("a"))
        {
            answerTo = Double.toString(numOne +numTwo);
        }
        else if(menuSelect.equals("b")) 
        {
            answerTo = Double.toString(numOne - numTwo);
        }
        else if(menuSelect.equals("c"))
        {
            answerTo = Double.toString(numOne * numTwo);
        }
        else if(menuSelect.equals("d"))
        {
            answerTo = Double.toString(numOne / numTwo);
        }
        else if(menuSelect.equals("e"))
        {
            answerTo = Double.toString(numOne % numTwo);
        }
        else if (menuSelect.equals("f"))

            if(numOne > numTwo)
            {
                answerTo = ">";//System.out.println("First is grater");
            }
            else if(numOne < numTwo)
            {
                answerTo ="<";//System.out.println("Second is grater");
            }
            else
            {
                answerTo ="=";//System.out.println("Both are equal");
            }

        else if(menuSelect.equals("g"))
        {
            answerTo = "First number: " + numOne + "  Second number: " + numTwo;
        }
        else if(menuSelect.equals("h"))
        {
            break;
        }

        System.out.println("answer: " + answerTo);
    }
}
}
4

1 に答える 1

0

whileチャンク全体をループする必要があります。

その後、

else if(menuSelect.equals("h"))
{
    break;
}

これはループから抜け出します

于 2013-02-23T23:39:13.760 に答える