Java-黑马Java学习作业-day05循环高级和数组

学习视频链接:https://www.bilibili.com/video/BV17F411T7Ao


题目1-遍历输出数组

请创建一个长度为6的整数数组,并为数组中的元素赋值。遍历数组,打印所有元素,元素之间用空格隔开。比如:

数组为:{1,2,3,4,5}
打印结果:1 2 3 4 5 
/**
 * @ClassName: codeHomework01
 * @Author: Kox
 * @Data: 2023/1/9
 * @Sketch: 题目1
 */
public class codeHomework01 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

题目2-数组最小值

现有一个小数数组{12.9, 53.54, 75.0, 99.1, 3.14}。请编写代码,找出数组中的最小值并打印。

/**
 * @ClassName: codeHomework02
 * @Author: Kox
 * @Data: 2023/1/9
 * @Sketch: 题目2
 */
public class codeHomework02 {
    public static void main(String[] args) {
        double[] arr = {12.9, 53.54, 75.0, 99.1, 3.14};
        double min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        System.out.println("数组中的最小值为:" + min);
    }
}

题目3 -随机数添加到数组中

创建一个长度为6的整数数组。请编写代码,随机生成六个0(包含)-100(不包含)之间的整数存放到数组中,然后计算出数组中所有元素的和并打印。

import java.util.Arrays;
import java.util.Random;

/**
 * @ClassName: codeHomework03
 * @Author: Kox
 * @Data: 2023/1/9
 * @Sketch: 题目3
 */
public class codeHomework03 {
    public static void main(String[] args) {
        int[] arr = new int[6];
        Random r = new Random();
        for (int i = 0; i < arr.length; i++) {
            int num = r.nextInt(100);
            arr[i] = num;
        }
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println(Arrays.toString(arr));
        System.out.println("和为:" + sum);
    }
}

题目4-输出数组所表示的整数值

现有一个整数数组,数组中的每个元素都是[0-9]之间的数字,从数组的最大索引位置开始到最小索引位置,依次表示整数的个位、十位、百位。。。依次类推。请编写程序计算,这个数组所表示的整数值。例如:

数组:{2, 1, 3, 5, 4}
表示的整数为:21354 // 注:是整数类型的两万一千三百五十四,不是字符串拼起来的。
/**
 * @ClassName: codeHomework04
 * @Author: Kox
 * @Data: 2023/1/9
 * @Sketch: 题目4
 */
public class codeHomework04 {
    public static void main(String[] args) {
        int[] arr = {2, 1, 3, 5, 4};
        int num = 0;
        for (int i = 0; i < arr.length - 1; i++) {
            num = (num + arr[i]) * 10;
//            int multiple = 10;
//            for (int j = arr.length - 1 - i; j > 1; j--) {
//                multiple *= 10;
//            }
//            if (i == arr.length - 1) {
//                multiple = 1;
//            }
//            num += arr[i] * multiple;

        }
        System.out.println(num + arr[arr.length - 1]);
    }
}

题目5-输出学生平均成绩

定义一个数组来存储10个学生的成绩,例如:{72, 89, 65, 87, 91, 82, 71, 93, 76, 68}。计算并输出学生的平均成绩。

/**
 * @ClassName: codeHomework05
 * @Author: Kox
 * @Data: 2023/1/9
 * @Sketch: 题目5
 */
public class codeHomework05 {
    public static void main(String[] args) {
        int[] arr = {72, 89, 65, 87, 91, 82, 71, 93, 76, 68};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("学生的平均成绩是:" + (sum / arr.length));
    }
}

题目6(很难)-数组排序

有一个数组,其中有十个元素从小到大依次排列 {12,14,23,45,66,68,70,77,90,91}。再通过键盘录入一个整数数字。要求:把数字放入数组序列中,生成一个新的数组,并且数组的元素依旧是从小到大排列的。执行效果如下:

请输入一个整数数字:
50
生成的新数组是:12 14 23 45 50 66 68 70 77 90 91
import java.util.Arrays;
import java.util.Scanner;

/**
 * @ClassName: codeHomework06
 * @Author: Kox
 * @Data: 2023/1/9
 * @Sketch: 题目6
 */
public class codeHomework06 {
    public static void main(String[] args) {
        int[] arr = {12,14,23,45,66,68,70,77,90,91};
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数数字:");
        int num = sc.nextInt();
        int[] brr = new int[11];
        for (int i = 0; i < arr.length; i++) {
            brr[i] = arr[i];
        }
        brr[brr.length-1] = num;
        for (int i = 0; i < brr.length; i++) {
            for (int j = 0; j < brr.length - 1; j++) {
                int temp = brr[j];
                if (brr[j] > brr[j + 1]) {
                    brr[j] = brr[j + 1];
                    brr[j + 1] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(brr));
    }
}

题目7(很难)-奇数放左边,偶数放右边

定义一个数组其中包含多个数字。用自己的方式最终实现,奇数放在数组的左边,偶数放在数组的右边。(可以创建其他数组,不必须在原数组中改变)

import java.util.Arrays;

/**
 * @ClassName: codeHomework07
 * @Author: Kox
 * @Data: 2023/1/9
 * @Sketch: 题目7
 */
public class codeHomework07 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6 ,7 ,8 ,9 ,10};
        int[] brr = new int[arr.length];
        int left = 0;
        int right = arr.length - 1;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 1) {
                brr[left] = arr[i];
                left++;
            } else {
                brr[right] = arr[i];
                right--;
            }
        }
        System.out.println(Arrays.toString(brr));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值