Java 在数组中删除。。代码错误
当我编写此代码时,不会出现任何错误,但在编译时>>给我错误>>这有什么问题Java 在数组中删除。。代码错误,java,Java,当我编写此代码时,不会出现任何错误,但在编译时>>给我错误>>这有什么问题 public static void main (String args []){ int arr[] = {20 , 30 ,40 , 50 , 60 ,200 }; int searchKey = 20 ; for (int i = 0 ; i < arr.length ; i++ ){ if (arr[i]== searchKey){
public static void main (String args []){
int arr[] = {20 , 30 ,40 , 50 , 60 ,200 };
int searchKey = 20 ;
for (int i = 0 ; i < arr.length ; i++ ){
if (arr[i]== searchKey){
System.out.println(searchKey + "found");
for(int z = i ; z < arr.length ;z++){
arr[z] = arr[z+1];
}
for(int k=0 ; k<arr.length ; k++)
System.out.print(arr[k] + " ");
break;
}
else if (i == (arr.length-1) ) {
System.out.print(searchKey+ " not found");
break;
}
}
}
publicstaticvoidmain(字符串参数[]){
int arr[]={20,30,40,50,60,200};
int searchKey=20;
对于(int i=0;i for(int k=0;k使用此for循环,您将进入java.lang.ArrayIndexOutOfBoundsException
。替换
for(int z = i ; z < arr.length ;z++)
我可以看出你会得到一个越界的例外
与
for(int z=i;z
尝试通过以下方式减少循环
for(int z = i ; z < arr.length -1 ;z++)
for(int z=i;z
错误是什么?没有编译器错误,只是在运行时出现IndexOutOfBoundException。arr[z+1]
超出范围,是运行时异常。它给我逻辑错误,但在这一行:arr[z]=arr[z+1];可能重复
for(int z = i ; z < arr.length ;z++) {
arr[z] = arr[z+1];
}
for(int z = i ; z < arr.length -1 ;z++)