意味 - java 文字列 比較



文字列がJavaのオブジェクトまたは他の文字列値と等しくないかどうかをどうやって確認するのですか? (2)

私はユーザーが設定できる時計を作ろうとしています。 私はユーザーに質問をしてほしいと思って、はいかいいえのような言葉で回答しました。 私は、ユーザーが秒を表示するかどうかなど、このコードを使用して変更されないものに対して行ってきましたが、文字列を変更したいときにはうまくいきません。時間が12を超えると、ここに私が使用しているものがあります:

    System.out.println("AM or PM?"); 
    Scanner TimeOfDayQ = new Scanner(System.in);
    TimeOfDayStringQ = TimeOfDayQ.next();

    if(!TimeOfDayStringQ.equals("AM") || !TimeOfDayStringQ.equals("PM")) {
        System.out.println("Sorry, incorrect input.");
        System.exit(1);
    }

    ...

    if(Hours == 13){
        if (TimeOfDayStringQ.equals("AM")) {
            TimeOfDayStringQ.equals("PM");
        } else {
            TimeOfDayStringQ.equals("AM");
        }
                Hours = 1;
        }
     }

私が午前、午後、または他の賢明を置くかどうか、私が何かを入力するたびに、私は何かを入力するたびに、それは私に書いた後に終了するエラーを与える。 エラーが発生したプログラムを終了するコードのセクションを削除すると、時が13になると文字列が午前から午後に変更されません。ご協力いただきありがとうございます。


Answer #1

&&を使用して、 "AM"と等しくなく、 "PM"と等しくないことを確認します

if(!TimeOfDayStringQ.equals("AM") && !TimeOfDayStringQ.equals("PM")) {
    System.out.println("Sorry, incorrect input.");
    System.exit(1);
}

あなたがすることもできることを明確にする

if(!(TimeOfDayStringQ.equals("AM") || TimeOfDayStringQ.equals("PM"))){
    System.out.println("Sorry, incorrect input.");
    System.exit(1);
}

コード内に( not (one or the other)句を持たnot (one or the other)括弧を覚えている)


Answer #2

あなたの変更|| &&にすると、答えが "AM"でも "PM"でもない場合にのみ終了します。





user-input