我正在编写一个框架的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添加到IVE中,而两次添加了t1,这就是为什么当我尝试使用它时t10为空的原因