白富美:身为女子,洁身自好为白,经济独立为富|

huxingxin

园龄:6年10个月粉丝:26关注:0

day07-数组算法

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];

本文作者:huxingxin

本文链接:https://www.cnblogs.com/huxingxin/articles/16926718.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   huxingxin  阅读(17)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起