(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
这里有什么问题,我该怎么做才能解决它?
答案 0 :(得分:2)
那个代码是错误的。请改用它。
for(int i = numList.Length - 1; i >= 0;i--)
{
int temp = numList[i];
System.out.print("Reverse order: " + temp + " ");
}
在你的代码中,你递增i并递减j,这意味着如果你循环直到你的条件得到满足,你就会得到大约一半的循环。尝试并逐步创建一个循环值的表,你会明白我的意思:))
答案 1 :(得分:0)
i ++和j--以及i的循环迭代条件&lt;当i和j到达数组的中间时,j将变为false。所以基本上你的for循环只能处理循环的前半部分。我没有运行你的代码,但这是我做的第一个观察。