これは私が大学で働いているプロジェクトのためではありません。今、特定のセクションでは、11文字の長さである必要がある登録番号に関する詳細をユーザーから入力する必要があります。インデックス上の文字(8)と(10)は文字である必要があり、残りは数字である必要があります。誤った文字がユーザーによって入力された場合は、正しく入力されるまで再度入力する必要があります。私は私が見ていない非常に簡単なものでなければならないと感じることに非常に悩まされています。ここで私はこれまでと周りのおもちゃにきたものだ(あなたの心にこのコードは凶悪であり、我々は私のコースでこれ以上のことを学んだしていないとして、非常に基本的なJavaの機能を使用しています)文字列インデックスの複数の文字をチェックして検証する方法は?
String regiNum;
boolean validRegi = true;
System.out.print("Enter registration num: ");
regiNum = keyboard.nextLine();
char firstChar = regiNum.charAt(8), secChar = regiNum.charAt(10);
while(validRegi == true){
if(!(firstChar >= 'A' && firstChar <= 'z' && secChar >= 'A' && secChar <= 'z')){
System.out.print("Enter registration num again: ");
regiNum = keyboard.nextLine();
validRegi = false;
}
}
私ももらっていません他の文字の妥当性をチェックして数字であるかどうかを調べることができます。最高のものは何ですか?たぶんdo whileループですか?信じられないほど愚かな質問に対する謝罪。
恐らくもっとも洗練された解決策ではありませんが、 'string.matches(" \\ d \\ d \\ d \\ d \\ d \\ d \\ d [a-zA-Z] \\ P – Moira
正規表現がこの質問に役立つ解決策ではないと思う - Danielは彼が基本的なJavaをやっていると言っていてwhileループでタグ付けしている。彼のプロジェクトが期待していることがそうであるようです。 – DaveyDaveDave