显示反向数组

时间:2016-03-17 20:04:04

标签: java arrays

所以我必须编写一个程序,从键盘上接受10个数字(整数)。每个数字都存储在数组的不同元素中。 然后我的程序必须以相反的顺序显示数组的内容。

int [] array = new int [10];
    for(int i = array.length -  1;i >= 0; i--)
    {
    int number = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number " + (i+1)));
        array[i] = number;

            }
                JOptionPane.showMessageDialog(null, array[i]);


}

我试图将JOPtionPane.showMessageDialog放在循环之外但是程序找不到整数" i"。我不知道该怎么做:/请帮忙:P

4 个答案:

答案 0 :(得分:2)

您需要先输入数据,然后按照您想要的顺序显示...

int [] array = new int[10];
for (int i = 0; i < array.length - 1; i++) {
    int number = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number " + (i + 1)));
    array[i] = number;
}

for (int i = array.length - 1; i >= 0; i--) {
    JOptionPane.showMessageDialog(null, array[i]);
}

我也很想简单地为你的最终结果构造一个StringBuilder,然后只显示一次消息对话框,而不是数组的每个元素,但这取决于你自己:)

答案 1 :(得分:1)

i属于循环范围,这就是为什么你无法在循环之外使用它。

要打印反向数组,请使用另一个循环

// insert the data to the array
int [] array = new int [10];
for(int i = array.length -  1 ; i >= 0 ; i--) {
    int number = Integer.parseInt(JOptionPane.showInputDialog(null, "Enter number " + (i+1)));
    array[i] = number;
}

// print the array
for (int i = 0 ; i < array.length ; ++i) {
    JOptionPane.showMessageDialog(null, array[i]);
}

答案 2 :(得分:0)

那是因为你已经在for循环中声明了,所以它有循环范围。在循环之前声明它以在循环结束后重用它

int i;
for(i = array.length -  1;i >= 0; i--)

之后,你可以再做一个循环:

for(i = 0; i < array.length; i++)

以相反的顺序打印。

答案 3 :(得分:0)

你需要两个for循环。第一个从0到9迭代并询问数字并将其放入数组中。第二个从9迭代到0并打印数组中的数字