1、使用冒泡排序,实现如下的数组从小到大排序。
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
int temp;
for(int i = 0; i < arr.length - 1){//比较几轮
for(int j = 0; j < arr.length - 1 - i){//每次比较完毕 都减少一位
temp = arr[j];
if(temp > arr[j + 1]){//把较大的数换到右边 从小到大排序
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
2、 如何反转上面的数组。请代码实现
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
int temp;
for(int i = 0; i < arr.length / 2; i++){
temp = arr[i];
arr[i] = arr[arr.length - 1 - i]
arr[arr.length - 1 - i] = temp;
}
3、复制上述数组,得到一个新的数组
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
int[] arr1 = new int[arr.length];
for(int i = 0; i < arr.length; i++){
arr1[i] = arr[i];
}
4、使用线性查找,从上述数组中查找22是否存在。存在,返回所在位置的索引。不存在,输出提示信息。
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
int number = 22;
boolean flag = false;
for(int i = 0; i < arr.length; i++){
if(number == arr[i]){
System.out.println("所在位置的索引: " + i);
flag = true;
break;
}
}
if(flag == false){
System.out.println("很遗憾,不存在");
}
6、数组中常见的异常有哪些?请举例说明
//数组越界异常 ArrayIndexOutOfBoundsException
//合理范围 [0, arr.lenght-1]
int[] arr1 = new int[2];
int number1 = arr1[2];
//空指针异常 NullPointerException
int[] arr2 = null;
int number2 = arr2[0];
int[][] arr3 = new int[2][];
int number3 = arr3[0][0];