Java 如果用户输入错误的数字数据,如何调用错误消息 do{ number=(字符串)JOptionPane.showInputDialog(null,“数量:”,“试用”,JOptionPane.QUESTION\u消息); 如果(匹配数(\\d+)){ 数量=整数.parseInt(数字); } //JOptionPane.showMessageDialog(null,“无效输入!\n\nMin=1\nMax=100”,“试用”,JOptionPane.ERROR\u消息); }而(数量100); showMessageDialog(null,数字);
如果我将错误消息放在if内部或外部,则如果用户输入正确的数据,则错误消息仍会出现如果输入与正则表达式不匹配,则要显示该消息。因此:Java 如果用户输入错误的数字数据,如何调用错误消息 do{ number=(字符串)JOptionPane.showInputDialog(null,“数量:”,“试用”,JOptionPane.QUESTION\u消息); 如果(匹配数(\\d+)){ 数量=整数.parseInt(数字); } //JOptionPane.showMessageDialog(null,“无效输入!\n\nMin=1\nMax=100”,“试用”,JOptionPane.ERROR\u消息); }而(数量100); showMessageDialog(null,数字);,java,swing,Java,Swing,如果我将错误消息放在if内部或外部,则如果用户输入正确的数据,则错误消息仍会出现如果输入与正则表达式不匹配,则要显示该消息。因此: do { number = (String)JOptionPane.showInputDialog(null,"Quantity : ","TRIAL",JOptionPane.QUESTION_MESSAGE); if(number.matches("\\d+")) { qty = Integer.parseInt(number);
do {
number = (String)JOptionPane.showInputDialog(null,"Quantity : ","TRIAL",JOptionPane.QUESTION_MESSAGE);
if(number.matches("\\d+")) {
qty = Integer.parseInt(number);
}
// JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
} while(qty < 1 || qty > 100);
JOptionPane.showMessageDialog(null,number);
需要做到这一点:
if(number.matches("\\d+")){
qty = Integer.parseInt(number);
}
// JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
现在您的意思是,如果它匹配OK,那么您将读取新值qty
,但如果它不匹配,那么您将显示消息
您可以考虑另一种选择,即避免使用正则表达式,但只需尝试调用parseInt()
,然后捕获无法转换时产生的NumberFormatException
(如果可以解析数字,但给出的结果超出了1到100的有效范围,则还需要一些逻辑来显示错误。)如果输入与正则表达式不匹配,则需要显示消息。因此:
do {
number = (String)JOptionPane.showInputDialog(null,"Quantity : ","TRIAL",JOptionPane.QUESTION_MESSAGE);
if(number.matches("\\d+")) {
qty = Integer.parseInt(number);
}
// JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
} while(qty < 1 || qty > 100);
JOptionPane.showMessageDialog(null,number);
需要做到这一点:
if(number.matches("\\d+")){
qty = Integer.parseInt(number);
}
// JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
现在您的意思是,如果它匹配OK,那么您将读取新值qty
,但如果它不匹配,那么您将显示消息
您可以考虑另一种选择,即避免使用正则表达式,但只需尝试调用parseInt()
,然后捕获无法转换时产生的NumberFormatException
(如果可以解析数字,但给出的结果超出了1到100的有效范围,则还需要一些逻辑来显示错误。)如果输入与正则表达式不匹配,则需要显示消息。因此:
do {
number = (String)JOptionPane.showInputDialog(null,"Quantity : ","TRIAL",JOptionPane.QUESTION_MESSAGE);
if(number.matches("\\d+")) {
qty = Integer.parseInt(number);
}
// JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
} while(qty < 1 || qty > 100);
JOptionPane.showMessageDialog(null,number);
需要做到这一点:
if(number.matches("\\d+")){
qty = Integer.parseInt(number);
}
// JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
现在您的意思是,如果它匹配OK,那么您将读取新值qty
,但如果它不匹配,那么您将显示消息
您可以考虑另一种选择,即避免使用正则表达式,但只需尝试调用parseInt()
,然后捕获无法转换时产生的NumberFormatException
(如果可以解析数字,但给出的结果超出了1到100的有效范围,则还需要一些逻辑来显示错误。)如果输入与正则表达式不匹配,则需要显示消息。因此:
do {
number = (String)JOptionPane.showInputDialog(null,"Quantity : ","TRIAL",JOptionPane.QUESTION_MESSAGE);
if(number.matches("\\d+")) {
qty = Integer.parseInt(number);
}
// JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
} while(qty < 1 || qty > 100);
JOptionPane.showMessageDialog(null,number);
需要做到这一点:
if(number.matches("\\d+")){
qty = Integer.parseInt(number);
}
// JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
现在您的意思是,如果它匹配OK,那么您将读取新值qty
,但如果它不匹配,那么您将显示消息
您可以考虑另一种选择,即避免使用正则表达式,但只需尝试调用parseInt()
,然后捕获无法转换时产生的NumberFormatException
(如果可以解析数字,但给出的结果超出了1到100的有效范围,则还需要一些逻辑来显示错误。)您可以将条件检查移动到循环中,并将循环更改为无限:
if(number.matches("\\d+")){
qty = Integer.parseInt(number);
} else {
JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
}
while(true){
number=(字符串)JOptionPane.showInputDialog(null,“数量:”,“试用”,JOptionPane.QUESTION\u消息);
如果(匹配数(“[1-9]\\d*”){
数量=整数.parseInt(数字);
如果(qty>=1&&qty,则可以将条件检查移动到循环中,并将循环更改为无限:
if(number.matches("\\d+")){
qty = Integer.parseInt(number);
} else {
JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
}
while(true){
number=(字符串)JOptionPane.showInputDialog(null,“数量:”,“试用”,JOptionPane.QUESTION\u消息);
如果(匹配数(“[1-9]\\d*”){
数量=整数.parseInt(数字);
如果(qty>=1&&qty,则可以将条件检查移动到循环中,并将循环更改为无限:
if(number.matches("\\d+")){
qty = Integer.parseInt(number);
} else {
JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
}
while(true){
number=(字符串)JOptionPane.showInputDialog(null,“数量:”,“试用”,JOptionPane.QUESTION\u消息);
如果(匹配数(“[1-9]\\d*”){
数量=整数.parseInt(数字);
如果(qty>=1&&qty,则可以将条件检查移动到循环中,并将循环更改为无限:
if(number.matches("\\d+")){
qty = Integer.parseInt(number);
} else {
JOptionPane.showMessageDialog(null,"Invalid input !\n\nMin = 1\nMax = 100","TRIAL",JOptionPane.ERROR_MESSAGE);
}
while(true){
number=(字符串)JOptionPane.showInputDialog(null,“数量:”,“试用”,JOptionPane.QUESTION\u消息);
如果(匹配数(“[1-9]\\d*”){
数量=整数.parseInt(数字);
如果(数量>=1&&qty
如果用户输入错误的数字数据,如何调用错误消息
相反,我建议为他们提供一个控件,使选择数字变得简单。具体来说,是一个带有微调器数字模型的微调器。如下所示:
while (true) {
number = (String)JOptionPane.showInputDialog(null,"Quantity : ","TRIAL",JOptionPane.QUESTION_MESSAGE);
if(number.matches("[1-9]\\d*")){
qty = Integer.parseInt(number);
if (qty >= 1 && qty <= 100) {
break;
}
}
JOptionPane.showMessageDialog(null, "Invalid input !\n\nMin = 1\nMax = 100", "TRIAL", JOptionPane.ERROR_MESSAGE);
}
JOptionPane.showMessageDialog(null,number);
import javax.swing.*;
公共类PickANumber{
公共静态void main(字符串[]args){
Runnable r=新的Runnable(){
@凌驾
公开募捐{
喷丝头型号喷丝头型号=
新喷丝头型号(0,0,100,1);
JSpinner spinner=新JSpinner(spinnerModel);
while(spinnerModel.getNumber().intValue())
如果用户输入错误的数字数据,如何调用错误消息
相反,我建议为他们提供一个控件,使选择数字变得简单。具体来说,是一个带有微调器数字模型的微调器。如下所示:
while (true) {
number = (String)JOptionPane.showInputDialog(null,"Quantity : ","TRIAL",JOptionPane.QUESTION_MESSAGE);
if(number.matches("[1-9]\\d*")){
qty = Integer.parseInt(number);
if (qty >= 1 && qty <= 100) {
break;
}
}
JOptionPane.showMessageDialog(null, "Invalid input !\n\nMin = 1\nMax = 100", "TRIAL", JOptionPane.ERROR_MESSAGE);
}
JOptionPane.showMessageDialog(null,number);
import javax.swing.*;
公共类PickANumber{
公共静态void main(字符串[]args){
Runnable r=新的Runnable(){
@凌驾
公开募捐{
喷丝头型号喷丝头型号=
新喷丝头型号(0,0,100,1);
JSpinner spinner=新JSpinner(spinnerModel);
while(spinnerModel.getNumber().intValue())
如果用户输入错误的数字数据,如何调用错误消息
相反,我建议为他们提供一个控件,使选择数字变得简单。具体来说,是一个带有微调器数字模型的微调器。如下所示:
while (true) {
number = (String)JOptionPane.showInputDialog(null,"Quantity : ","TRIAL",JOptionPane.QUESTION_MESSAGE);
if(number.matches("[1-9]\\d*")){
qty = Integer.parseInt(number);
if (qty >= 1 && qty <= 100) {
break;
}
}
JOptionPane.showMessageDialog(null, "Invalid input !\n\nMin = 1\nMax = 100", "TRIAL", JOptionPane.ERROR_MESSAGE);
}
JOptionPane.showMessageDialog(null,number);
import javax.swing.*;
公共类PickANumber{
公共静态无效