第六章数组作业(韩顺平)

文章介绍了Java编程中数组的操作,如字符数组修改、数组扩容插入元素的方法,随机生成整数数组并进行倒序、计算平均值和最大值,以及冒泡排序的实现。
摘要由CSDN通过智能技术生成

1. B,D
A 后面赋值是字符,定义是字符串
E编译错误

2. blue     布尔型未赋值时默认false

 

3. 1  3  5  7

4.  本质:数组扩容加定位 先确定插入元素的索引,然后扩容

public class homework04 {
    public static void main(String[] args){
        int[] arr1 = {10,12,45,90};
        int num = 91;
        int index = -1;
        //先确定元素插入位置
        for (int i = 0; i < arr1.length; i++){
            if (num <= arr1[i]){
                index = i;
                break;
            }
        }
        //如果index等于-1,说明数组里的值全小于num,插入要数组末尾
        if (index == -1){
            index = arr1.length;
        }
        System.out.println("要插入元素的索引为:"+index);
        System.out.println("插入元素后的数组为:");
        //扩容,先创建新数组
        int[] arr2 = new int[arr1.length+1];
        for (int i =0, j=0; i < arr2.length; i++){
            if (i != index){
                arr2[i] = arr1[j];
                j++;
            }
            else {
                arr2[i] = num;
            }
            System.out.print(arr2[i]+"\t");
        }
    }
}

5. 随机生成10个整数(1~100的范围)保存到数组,并倒序打印以及求平均值、求最大值和最大值的下标、并查找里面是否有8

import java.util.Random;

public class homework05 {
    public static void main(String[] args){
        Random myrandom = new Random();
        int[] arr = new int[10];
        System.out.println("生成的十个随机数如下:");
        for (int i = 0; i < 10; i++){
            arr[i] = myrandom.nextInt(100)+1;
            System.out.print(arr[i]+"\t");
        }
        System.out.println();
        double sum = arr[0];
        int max = arr[0];
        int maxIndex = 0;
        for (int i = 1; i < arr.length; i++){
            sum += arr[i];
            if (max < arr[i]){
                max = arr[i];
                maxIndex = i;
            }
        }
        System.out.println("平均值为:"+sum/arr.length);
        System.out.println("最大值为:"+max);
        System.out.println("最大值下标为:"+maxIndex);
        System.out.println("(倒序)排序结果如下:");
        int temp = 0;
        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]){
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        for (int i = 0; i < 10; i++){
            System.out.print(arr[i]+"\t");
        }
    }
}

6. 试写出以下代码的打印结果

char[] arr1 = {'a','z','b','c'};
char[] arr2=arr1;
arr1[2]='韩';
for(int i=0;i<arr2.length; i+ +){
		System.out.println(arr1[i] +","+ arr2[i]);
}

 a,a z,z 韩,韩 c,c

7. 写出冒泡排序的代码

public class BubbleSort {
    public static void main(String[] args){
        int[] arr = {24, 69, 80, 57, 13, -1, 30, 200, -110};
        int temp = 0; //辅助交换的变量
        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]){
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
            System.out.println("第"+(i+1)+"轮排序结果");
            for (int j = 0; j < arr.length; j++){
                System.out.print(arr[j]+"\t");
            }
            System.out.println();
        }
        System.out.println("排序后的数组如下");
        for (int i = 0; i < arr.length; i++){
            System.out.print(arr[i]+"\t");
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值