Java JOptionPane.showInputDialog的用户输入验证
我只是在学习JAVA,在代码的这一部分遇到了一些麻烦。我搜索了几个网站,尝试了许多不同的方法,但似乎不知道如何实现一个适用于不同可能性的方法Java JOptionPane.showInputDialog的用户输入验证,java,validation,joptionpane,Java,Validation,Joptionpane,我只是在学习JAVA,在代码的这一部分遇到了一些麻烦。我搜索了几个网站,尝试了许多不同的方法,但似乎不知道如何实现一个适用于不同可能性的方法 int playerChoice = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number for corresponding selection:\n" + " (1) - ROCK\n (2) - PAPER\n (3) - SCISSORS\n
int playerChoice = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number for corresponding selection:\n"
+ " (1) - ROCK\n (2) - PAPER\n (3) - SCISSORS\n")) - 1;
我想我需要进行某种类型的验证,即使用户没有输入,或者输入不是1、2或3。有人对我如何做到这一点有什么建议吗
int playerChoice = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number for corresponding selection:\n"
+ " (1) - ROCK\n (2) - PAPER\n (3) - SCISSORS\n")) - 1;
我尝试了while循环、在将输入转换为整数之前检查null的if语句,以及几种不同类型的if-else-if方法
int playerChoice = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number for corresponding selection:\n"
+ " (1) - ROCK\n (2) - PAPER\n (3) - SCISSORS\n")) - 1;
提前谢谢 阅读上Swing教程中的部分,它实际上向您展示了如何轻松使用JOptionPane,这样您就不需要验证输入
int playerChoice = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number for corresponding selection:\n"
+ " (1) - ROCK\n (2) - PAPER\n (3) - SCISSORS\n")) - 1;
您可以使用不同的方法。您可以使用组合框来显示选项,也可以使用多个按钮来选择选项
int playerChoice = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number for corresponding selection:\n"
+ " (1) - ROCK\n (2) - PAPER\n (3) - SCISSORS\n")) - 1;
本教程还向您展示了如何“停止自动关闭对话框”,以便验证用户的输入 您需要执行以下操作来处理错误输入:
int playerChoice = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number for corresponding selection:\n"
+ " (1) - ROCK\n (2) - PAPER\n (3) - SCISSORS\n")) - 1;
boolean inputAccepted = false;
while(!inputAccepted) {
try {
int playerChoice = Integer.parseInt(JOption....
// do some other validation checks
if (playerChoice < 1 || playerChoice > 3) {
// tell user still a bad number
} else {
// hooray - a good value
inputAccepted = true;
}
} catch(NumberFormatException e) {
// input is bad. Good idea to popup
// a dialog here (or some other communication)
// saying what you expect the
// user to enter.
}
... do stuff with good input value
boolean inputAccepted=false;
而(!inputAccepted){
试一试{
int playerChoice=Integer.parseInt(JOption…)。。。。
//做一些其他的验证检查
如果(播放选择<1 | |播放选择>3){
//告诉用户仍然是一个错误的数字
}否则{
//万岁-一个很好的价值观
inputAccepted=true;
}
}捕获(数字格式){
//输入不正确。最好弹出窗口
//此处的对话框(或其他通信)
//说出你对未来的期望
//用户输入。
}
…做具有良好输入值的事情
}
int playerChoice = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number for corresponding selection:\n"
+ " (1) - ROCK\n (2) - PAPER\n (3) - SCISSORS\n")) - 1;