我没有退出反转arrayElements并且收到此错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at testcases.ReveringInput.main(ReveringInput.java:20).
这是我的代码
package testcases;
import java.util.Scanner;
public class ReveringInput {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter the Size of an Array");
int Size = in.nextInt();
int [] array = new int[Size];
System.out.println("Enter the elements of an Array");
int i;
for(i=0; i< Size ; i++)
{
array [i] = in.nextInt();
}
for(i= Size ; i <= Size ; i--)
{
System.out.println(array[i]);
}
}
}
答案 0 :(得分:2)
你写了
for(i= Size ; i <= Size ; i--)
使用大小Size
初始化的数组仅从0一直到Size - 1
,因此将其修改为i=Size -1
然后您编写了i <= Size
,它始终是如此将无限运行这个不好的代码,你需要将它改为i>=0
而不是它应该在这些修改后工作
答案 1 :(得分:0)
Scanner in = new Scanner(System.in);
System.out.println("Enter the Size of an Array");
int size = in.nextInt();
int[] array = new int[size];
System.out.println("Enter the elements of an Array");
for(int i = 0; i < size; i++)
{
array[i] = in.nextInt();
}
for(int i = size-1; i > -1; i--)
{
System.out.println(array[i]);
}
解释第二个for循环:
int i = size-1
:从最高数组索引开始i
。例如,如果size == 5
,则array[4]
会为您提供最后一个元素。i > -1
:运行循环,直到i
为0或正数。i--
:每次迭代后将i
减少一个。希望这有帮助!