1

数字を使用したこれと同様のコードがあり、完全に機能しました。ただし、これは他の単語に下線を引き続けており、その理由はわかりません。私は、いくつかの原則を理解しようとして、Java をいじっています。

入力に応じて 2 つのステートメントのいずれかを応答するようにプログラムしたいと考えています。また、 と書かれているところには 、小文字も受け入れるようif (input1 == "Hello");に入れたかった のですが、それもエラーを示しました。if (input1 == "Hello" || "hello");

明確にするために、else 句を削除すると、プログラムが実行され、両方のステートメントが出力されます。

import java.util.Scanner;

public class Input
{
    public static void main(String[] args) 
    {
    System.out.println("Hello there!");
    Scanner Scan = new Scanner (System.in);
    String input1 = Scan.nextLine();
    Scan.close();

    if (input1 == "Hello");
        {
            System.out.println("How are you?");
        }
        else
            System.out.println("How rude, you didn't even say Hello!");
            break;
        }
    }
}
4

5 に答える 5

2

;if ステートメントの末尾にある を削除します。そして、.equals()文字列を比較するために使用します。

セミコロンを使用するとコンパイル エラーが発生しますが、==実行すると論理エラーが発生します。

于 2013-08-18T19:14:12.950 に答える
1

を探していequalsIgnoreCase()ます。これは、大文字と小文字を区別せずに 2 つの文字列を比較します。

于 2013-08-18T19:19:27.553 に答える
0

;afterifステートメント条件を削除し、{afterを追加しelseます。また、 を使用するequals(Object)と予期しない結果が生じる可能性があるため、オブジェクトを比較するときに メソッドを使用することをお勧めします==

于 2013-08-18T19:19:19.083 に答える