入力ダイアログボックスを表示して、プレーヤーの名前を入力する必要があります。
プレーヤーが[OK]ボタンをクリックし、入力ダイアログの値が数値またはnullの場合、エラーが表示されます。プレーヤーがエラーメッセージダイアログボックスの[OK]ボタンをクリックすると、入力ボックスが再び表示されます。
コードが間違っているかどうかわかりません。私のウェブプログラミングの主題のために、Javaでコーディングする方法を忘れました。
int[] player = new int[1];
for(int a =0; a<player.length; a++){
String input = JOptionPane.showInputDialog("Enter your Name:",JOptionPane.OK_CANCEL_OPTION);
try {
if(!input.matches("[a-zA-Z]+")){
JOptionPane.showMessageDialog(null,"Use Letters only", "Warning", JOptionPane.OK_OPTION);
} else {
input = String.valueOf(player[a]);
category c = new category();
this.dispose();
c.show();
}
}
catch(Exception e){
};
ループを正しく実行すると、必要なダイアログは1つだけになります。
String message = "Enter Your Name:";
String playerName = null;
do {
playerName =
JOptionPane.showInputDialog(message);
message = "<html><b style='color:red'>Enter Your Name:</b><br>"
+ "Use letters only.";
} while(playerName != null && !playerName.matches("[a-zA-Z]+"));
System.out.println("PlayerName: " + playerName);
これには、有効な名前を要求する次の反復にエラーメッセージが含まれます。作業も少し良くなります。
最初の呼び出しで次のように表示されます。
エラーの場合は次のようになります。
注意
"[a-zA-Z]\\w+"
名前の後半の数字で問題がない場合は、正規表現を変更することをお勧めします(たとえば"bunny99"
)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加