1

ユーザーがフレーズを入力するゲームを作成しようとしていますが、フレーズは小文字のみにすることができます (私のドリフトをキャッチした場合)。そのため、プログラムは do-while ループでユーザーにプロンプ​​トを表示します。ユーザーが (1234567890、または !@#$%^&* または ASDFGH のようなものを入力すると、ループはユーザーに小文字のみを入力するように再プロンプトする必要があります。私は Java に非常に慣れていないので、私のコードはここにある:

import java.util.Scanner;
public class Program05 
{
    public static void main(String[] args) 
    {
    Scanner scanner01 = new Scanner(System.in);
    String inputPhrase; 
    char inputChar;
        do {
            System.out.print("Enter a common phrase to begin!: ");
            inputPhrase = scanner01.nextLine(); 

        } while (!inputPhrase.equals(Character.digit(0,9)));
    }
}
4

2 に答える 2

6

適切な正規表現とともに使用String.matches()して、すべて小文字かどうかをテストします。

inputPhrase.matches("[a-z ]+") // consists only of characters a-z and spaces

したがって、ループは次のようになります。

do {
    System.out.print("Enter a common phrase to begin!: ");
    inputPhrase = scanner01.nextLine(); 
} while (!inputPhrase.matches("[a-z ]+"));
于 2013-07-10T23:55:59.207 に答える
0

これを試してみて、これをコンパイルしましたが、うまくいきました

public static void main(String[] args) 
{
 Scanner scanner01 = new Scanner(System.in);
 String inputPhrase = ""; 
 char inputChar;
    while(!inputPhrase.equals("exit")){
        System.out.print("Enter a common phrase to begin!: ");
        inputPhrase = scanner01.nextLine(); 
        for(int i = 0; i < inputPhrase.length(); i++){
            if(!Character.isLetter(inputPhrase.charAt(i))
            ||Character.isUpperCase(inputPhrase.charAt(i))){
                System.out.println("Input must be lowercase characters");
                break; 
            }
        }
    }
 }
}
于 2013-07-11T00:03:55.587 に答える