JOptionPane降序数组*几乎在那里*

时间:2018-08-17 02:49:28

标签: java arrays eclipse user-interface joptionpane

所以我已经为此花了一段时间了。我已经可以输入多少个数组并输入每个单独的数组了。但是,一旦到达排序部分,它就会不断重复我有多少个数组的初始响应。例如,如果我输入的是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]);
    }

}
}

1 个答案:

答案 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;
}