所以我已经为此花了一段时间了。我已经可以输入多少个数组并输入每个单独的数组了。但是,一旦到达排序部分,它就会不断重复我有多少个数组的初始响应。例如,如果我输入的是3个数组,它就可以了,让我输入3个不同的数组。但是,当需要按降序对它进行排序时...不会这样做。相反,它将仅单独显示我最初选择的3个数组以及数字3(三次)。另外,如何获得最终结果以横向方式在单个GUI中显示?
package one;
import javax.swing.JOptionPane;
public class one {
public static void main(String[] args) {
String response;
response = JOptionPane.showInputDialog(null,"Number of elements: ");
int numberOfElements = Integer.parseInt(response);
int[] values = new int[numberOfElements];
for (int index = 0; index < numberOfElements; index++) {
JOptionPane.showInputDialog(null, "Element " + index + ": ");
int value = Integer.parseInt(response);
values[index] = value;
}
for (int i = 0; i < numberOfElements; i++) {
for (int j = i + 1; j < numberOfElements; j++) {
if (values[i] < values[j]) {
int temp = values[i];
values[i] = values[j];
values[j] = temp;
}
}
}
JOptionPane.showMessageDialog(null,"Sorted:");
for (int index = 0; index < numberOfElements; index++) {
JOptionPane.showMessageDialog(null, +values[index]);
}
}
}
答案 0 :(得分:0)
在第一个循环中,您将忽略showInputDialog
的返回结果,并继续使用用于创建元素数的原始response
值
for (int index = 0; index < numberOfElements; index++) {
response = JOptionPane.showInputDialog(null, "Element " + index + ": ");
int value = Integer.parseInt(response);
values[index] = value;
}