-3
마지막 요소에서 첫 번째 요소로 배열을 읽으 려하고 일부 경우에이를 변경하려고합니다. 하지만 왜 인덱스 밖으로 경계 예외를 가져 오는 지 모르겠다.IndexOutOfBound 배열 끝에서 인쇄
public class Test
{
private Scanner scan = new Scanner (System.in);
private int dimension;
private int[] a;
public int getDimension() {
return dimension;
}
public void setDimension(int dimension) {
this.dimension = dimension;
}
public Test(int dimension) {
System.out.println("Add elements");
setDimension(dimension);
this.a = new int[this.dimension];
for(int i = 0; i < this.dimension; i++)
a[i] = scan.nextInt();
}
public void calc() {
int aux = 0;
for(int i = a.length-1; i >= 0; i--)
if(a[i] > a[i-1]) {
aux = a[i-1];
a[i-1] = a[i];
a[i] = aux;
}
for(int i = 0; i < getDimension(); i++)
System.out.print(a[i] + " ");
}
public static void main(String[] args) {
Test p = new Test(5);
p.calc();
}
}
가없는
for(int i = a.length-1; i > 0; i--)
에변경은 그것을 작동합니다, 당신이 사용하는 인덱스를 인쇄 해 봅니다. 결국 당신은 왜 처음에 그것을 얻었는지 알게 될 것입니다. – DeadlyJesus