【发布时间】:2019-10-05 06:49:59
【问题描述】:
你好我是java的初学者现在我已经到了数组这里是一个for循环从高到低对数字进行排序,我的问题是为什么教练使用
newARRAY.length-1
?
public static int [] integers;
public static int [] sortArray(int[] array){
boolean PeaceArray = true;
int temp;
int [] newARRAY = Arrays.copyOf(array,array.length);
while(PeaceArray){
PeaceArray = false;
for(int i=0;i<newARRAY.length-1;i++){
if(newARRAY[i]< newARRAY[i+1]){
temp = newARRAY[i];
newARRAY[i] = newARRAY[i+1];
newARRAY[i+1] = temp;
PeaceArray = true;
}
}
}
return newARRAY;
}
【问题讨论】:
-
您是否尝试将
i的所有值替换为newARRAY[i+1]? -
@SotiriosDelimanolis 我不明白你的意思
-
@Abdelillah 尝试将
newARRAY.length-1更改为其他内容,看看运行时会发生什么。 -
当
i位于最后一个索引时,i+1将越界。 -
您希望您的讲师使用哪些其他值,您为什么会这样?如果你回答
newARRAY.length,没有-1,那么当你回答newARRAY[i+1]时,你认为i的最高值会发生什么,你为什么这么认为?
标签: java arrays sorting for-loop arraylist