-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

您必须使用equals方法来比较两个字符串。我建议你使用开关盒。Java 7 支持 switch case 中的字符串。这将提高您的代码可读性,并可以处理来自用户的所有输入。

于 2013-03-01T05:29:47.530 回答