2

つまり、ユーザーが A、a、L、または l のいずれかを入力していることを確認したいと考えています。これまでの私の解決策はこれですが、正規表現が正しくありません。

while(!qtype.hasNext("A| L") || !qtype.hasNext("a| l")){
    System.out.print("Please enter 'A' or 'L':");
    qtype.next().toUpperCase();
}
qal = qtype.next().toUpperCase();
4

1 に答える 1

6

文字列str"A""a""L"またはのいずれかであるかどうかを判断するには、"l"次を使用できます。

str.matches("[AaLl]")

正規表現を使用したくない場合:

str.equalsIgnoreCase("A") || str.equalsIgnoreCase("L")

次のようなことを試してください:

while (! (qal = qtype.next()).matches("[AaLl]"))
    System.out.print("Please enter 'A' or 'L': ");
于 2012-11-13T23:01:36.990 に答える