for循环以反向打印整数数组

时间:2014-01-21 18:44:05

标签: java arrays

我正在编写一个程序,用于创建一个for循环,以反向顺序打印整数数组。

public class RevIntArray {
    public static void main(String[] args) {
        int var[]=new int[3];
        int i;
        for(i = -3; i > -3; i++) {
            System.out.println(i);
        }
    }
}

我没有收到任何结果。有人可以提供一个简单的解决方案吗?

4 个答案:

答案 0 :(得分:5)

数组没有负索引的概念,如果你想从最后一个遍历到第一个,那么你必须从LAST索引开始并转到第一个。

for(i =3; i>0; i--){

   System.out.println(var[i - 1]);

}

答案 1 :(得分:2)

您从一个负数索引开始,该索引在数组中不存在。如果稍后更改数组的大小,使用array.length而不是显式数字也是一种好习惯。

public class RevIntArray {
    public static void main(String[] args) {
        int var[] = new int[] {1,2,3};
        for(int i = var.length - 1; i >= 0 ; i--) {
            System.out.println(var[i]);
        }
    }
}

答案 2 :(得分:2)

有一些提示可以帮助您:

for(i =-3; i>-3; i++){    
    System.out.println(i);    
}
  • var中的值int将全为零(由于int基元类型的默认初始化)。为数组提供一些值,以便您可以有效地检查是否反向打印它(例如var[2] = 1)。否则,请使用{0,0,1})明确说明。
  • 您的迭代错误。如果大小为3,请不要从-3开始。即使你让循环工作,负数索引对数组也是无效的。
  • 开始时不符合条件,因此您的for毫无意义。
  • 想想你要做的事情:迭代“反过来”意味着从最后开始并回到开头。您希望从最后一个元素开始,然后返回索引0
  • 完成循环后,打印i将显示索引,而不是元素。您希望var中存储的值用于该索引。
  • i--会减少您的反击。
  • var.length将告诉您数组的大小。请记住,索引从零开始,因此length - 1是最后一个元素的索引。
  • 要获取存储在数组的某个位置的值,请​​执行array[index]

考虑到这一点,请再试一次。

答案 3 :(得分:2)

首先,您应该为数组提供一些值:

int[] var = { 1, 2, 3 };

然后,您应该初始化循环计数器。您可以在循环结构中执行此操作。现在循环:

for (int i = var.length - 1; i >= 0; --i)
{
    System.out.println(var[i]);
}

这应该将 321 打印到控制台。