1.使用冒泡排序,实现如下的数组从小到大排序。
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3}
2.如何反转上面的数组。请代码实现。
3.复制上述数组,得到一个新的数组。
4.使用线性查找,从上述数组中查找22是否存在。存在,返回所在位置的索引。不存在,输出提示信息。
5.数组中常见的异常有哪些?请举例说明
题目一:
package com.atgugui.exe;
import java.util.Arrays;
/*
* 数组的冒泡排序
*/
public class ArrayExer4 {
public static void main(String[] args) {
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
for(int i = 0 ;i < arr.length-1;i++) {
for(int j = 0;j < arr.length -1 - i;j++) {
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
}
题目二:
//数组反转
int temp = 0;
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;
}
System.out.println(Arrays.toString(arr));
题目三:
//数组的复制
int[] arr1 = new int[8];
for(int i = 0;i < arr1.length;i++) {
arr1[i] = arr[i];
}
System.out.println(Arrays.toString(arr1));
题目四:
//线性查找
int dest = 22;
boolean isFlag = true;
for(int i = 0;i < arr.length;i++) {
if(dest == arr[i]) {
System.out.println("找到了指定的元素,位置为:" + i);
isFlag = false;
break;
}
}
if(isFlag) {
System.out.println("很遗憾,没有找到哦!");
}
题目五:
/*
* 数组中的常见异常:
* 1.数组角标越界的异常:ArrayIndexOutOfBoundsExcetion
* 合理范围:[0,arr.length - 1]
* 越界:arr[-1],arr[arr.length]
*
* 2.空指针异常:NullPointerException
* int[] arr = null;
* arr[0];
*/