0

二分探索木を構築するために、ユーザーが好きなだけ整数を入力するように求められるメニュー方式のプログラムがあります。開始したばかりで、「Q」に達すると整数の読み取りができなくなります。

    switch(inputOption){
        case 1:
            System.out.println("You've selected to create a new binary tree." + "\n");
            Scanner scan = new Scanner(System.in);
            String again;
            String tempInput;
            Boolean repeat = true;
            try{
                System.out.println("Please enter as many integers as you'd like, hit 'Q' when you are finished." + "\n");
                do{

                    tempInput = scan.next();
                    if(tempInput != "Q"){
                        integerInput = Integer.parseInt(tempInput);
                        repeat = true;
                    }
                    else
                        repeat = false;

                }while(repeat);
            }catch(InputMismatchException e){}

「Q」を認識させる方法について何かアイデアはありますか?

4

2 に答える 2

1

使用する

if(!tempInput.equals("Q"))

それよりも

if(tempInput != "Q")

Java 文字列は比較演算子では機能しません。

于 2012-08-01T22:06:55.630 に答える
0

(|| "q") を追加してみてください。しかし、あなたは多くの情報を提供しません。たとえば、デバッガーを使用して tempInput の実際の値を分析し、実際に "Q" であることを確認しましたか? その場合は、文字にキャストするか、含まれている可能性のある余分な空白や特殊文字を削除してみてください。

より多くの情報がより良いでしょう:-D

于 2012-08-01T22:06:58.893 に答える