Axl*_*Axl -3 java indexoutofboundsexception
我试图读取从最后一个元素到第一个元素的数组,并在某些情况下更改它们.但我不知道为什么我得到索引超出范围的例外.
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();
}
}
Run Code Online (Sandbox Code Playgroud)
for(int i = a.length-1; i >= 0; i--)
if(a[i]>a[i-1]){
Run Code Online (Sandbox Code Playgroud)
当i=0你指向的时候a[-1].
将其更改为for(int i = a.length-1; i > 0; i--),除非存在其他问题,否则应该可以正常工作
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |