-1

ユーザーは、使用するツリーを選択する必要があります。

どのツリーをテストしますか (BST、ST、RBT)?

入力を文字列として取得し、それを文字列と比較して、使用するツリーを選択できると思いましたが、間違っていると思います。以下は私が行ったことです

    Scanner input = new Scanner(System.in);
    System.out.println("Which tree would you like to test (BST, ST, RBT)? ");
    treeChoice = input.nextLine();

    if(treeChoice == "BST")
    {
        myTree = new BST<Integer>();
    }
    else if(treeChoice == "ST")
    {
        //ST<Integer> myTree = new ST<Integer>();
    }
    else if(treeChoice == "RBT")
    {
        //RBT<Integer> myTree = new RBT<Integer>();
    }
    else
    {
        System.out.println("Invalid Entry");
    }

テストしたところ、出力が無効なエントリでした。

私はこれについて間違った方法で進んでいますか?

4

2 に答える 2

3

if(treeChoice == "BST")

する必要があります

if("BST".equalsIgnoreCase(treeChoice))

それに応じて残りを変更します。ルールは比較に使用しないことです==String

于 2013-03-01T05:11:43.033 に答える
1

equals2 つの文字列の比較にはメソッドを使用する必要があります。スイッチケースを使用することをお勧めします。switch ケースの Java 7 サポート文字列。これにより、コードの可読性が向上し、ユーザーからのすべての入力を処理できます。

于 2013-03-01T05:29:47.530 に答える