import javax.swing.*;
import javax.swing.*;
public class Sum
{
public static void main(String[] args)
{
try{ int a=Integer.parseInt(JOptionPane.showInputDialog("请输入一个数a"));
int b=Integer.parseInt(JOptionPane.showInputDialog("请输入一个数b"));
int sum=a+b;
JOptionPane.showMessageDialog(null,"sum="+sum,"",JOptionPane.INFORMATION_MESSAGE);
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null,"你输入错误,必须是数字!","Error",JOptionPane.ERROR_MESSAGE);
}
System.exit(1);
}
}问题:当我输入a或b不是数字时,就产生错误提示,此异常已解决
但是当我输入数并不按那个弹出来的输入对话框中的"确定"按钮,而是选择按输入对话框中的"取消"按钮时,为何会发生异常?此异常如何解决?我希望按那个"取消"按钮时,就是仅起到取消输入数据的作用,而那个输入对话框还在显示,只是那输入栏的内容清空而已! 这个如何实现的?难道这个输入对话框中的取消按钮是多余的而没有用不成??????
import javax.swing.*;
public class Sum
{
public static void main(String[] args)
{
try{ int a=Integer.parseInt(JOptionPane.showInputDialog("请输入一个数a"));
int b=Integer.parseInt(JOptionPane.showInputDialog("请输入一个数b"));
int sum=a+b;
JOptionPane.showMessageDialog(null,"sum="+sum,"",JOptionPane.INFORMATION_MESSAGE);
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null,"你输入错误,必须是数字!","Error",JOptionPane.ERROR_MESSAGE);
}
System.exit(1);
}
}问题:当我输入a或b不是数字时,就产生错误提示,此异常已解决
但是当我输入数并不按那个弹出来的输入对话框中的"确定"按钮,而是选择按输入对话框中的"取消"按钮时,为何会发生异常?此异常如何解决?我希望按那个"取消"按钮时,就是仅起到取消输入数据的作用,而那个输入对话框还在显示,只是那输入栏的内容清空而已! 这个如何实现的?难道这个输入对话框中的取消按钮是多余的而没有用不成??????
import javax.swing.*;public class Sum {
public static void main(String[] args) {
int[] adnd = new int[2];
char[] desc = { 'a', 'b' }; for (int i = 0; i < adnd.length; i++) {
while (true) {
String s = JOptionPane.showInputDialog("请输入一个数" + desc[i]);
if (s != null) {
try {
adnd[i] = Integer.parseInt(s);
break;
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "你输入错误,必须是数字!",
"Error", JOptionPane.ERROR_MESSAGE);
}
}
}
}
int sum = adnd[0] + adnd[1];
JOptionPane.showMessageDialog(null, "sum=" + sum, "",
JOptionPane.INFORMATION_MESSAGE); }
}