我正在编写一个框架的java程序,用户在JTextFields中输入数字列表并存储在数组元素中,当按钮被预置时,它将对数组进行排序并将其设置在另一个JText字段
问题是,当我单击按钮时,它会出现异常
thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at Array.actionPerformed(Array.java:92)
知道actionPerformed方法有如下代码
public void actionPerformed(ActionEvent e){
String s1= e.getActionCommand();
if(s1.equals("Sort")){
int[] a = new int[ 6];
String ti1 = t1.getText();
String ti2 = t2.getText();
String ti3 = t3.getText();
String ti4 = t4.getText();
String ti5 = t5.getText();
String ti6 = t6.getText();
a[0] = Integer.parseInt(ti1);
a[1] = Integer.parseInt(ti2);
a[2] = Integer.parseInt(ti3);
a[3] = Integer.parseInt(ti4);
a[4] = Integer.parseInt(ti5);
a[5] = Integer.parseInt(ti6);
for(int i =0;i<a.length;i++){
for(int j = 0; j<a.length-1;j++){
if(a[j]>a[j+1]){
int temp = a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
t7.setText(Integer.toString(a[0]));
t8.setText(Integer.toString(a[1]));
t9.setText(Integer.toString(a[2]));
t10.setText(Integer.toString(a[3]));
t11.setText(Integer.toString(a[4]));
t12.setText(Integer.toString(a[5]));
最佳答案
我发现问题了!!我将相同的 JTextField 对象添加到框架中两次,而不是添加 t1 和 t10,我添加了 t1 两次,这就是为什么当我尝试使用它时 t10 为空
关于单击按钮时出现 java.lang.NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59160422/