java - 数组的反向打印

标签 java arrays reverse

(Java初学者) 我想出了一个可以反向显示 int 数组的代码,虽然我知道可能有更好的方法来做到这一点,但我认为这个逻辑应该有效:

for(int i = 0, j = numList.length - 1; i < j; i++, j--)
    {
        int temp = numList[i];
        numList[i]  = numList[j];
        numList[j] = temp;
        System.out.print("Reverse order: " + temp + " ");
    }

我不明白的是,当我输入 5 个数字时,控制台只显示前两个数字,然后就结束了:

1
2
3
4
5
Reverse order: 1 2

这里出了什么问题,我能做些什么来解决它?

最佳答案

该代码有问题。改用这个。

for(int i = numList.Length - 1; i >= 0;i--)
{
    int temp = numList[i];
    System.out.print("Reverse order: " + temp + " ");
}

在您的代码中,您增加 i 并减少 j,这意味着如果您循环直到满足条件,您将完成大约一半的循环。尝试一步步创建一个循环值表,您就会明白我的意思:)

关于java - 数组的反向打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20304337/

相关文章:

java - setOnEditorActionListener 不适合我

javascript - 如何删除外部阵列?

c++ - 使用 arg、*和* 作为数组实例化 C++ 模板化类

Javascript .match 带反向量词的正则表达式(或从右到左解析)

java - 改变 JCombobox 的高度

java - 一个可观察的多个可观察事件

c - C 中的范围值

javascript - 我可以以相反的顺序循环遍历 javascript 对象吗?

c - 反转输入字符串

java - 以编程方式设置新的 View 边距