Java基础练习五

1. 定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值

public class Work01 {
    public static void main(String[] args) {
        int[] arr = {65,45,85,78,69};
        int min = arr[0];
        for (int i :arr) {
            if (i <= min) {
                min = i;
            }
        }
        System.out.println(min);
    }
}

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

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

public class Work02 {
    public static void main(String[] args) {
        Random ran = new Random();
        int[] list = new int[6];
        int sum = 0;
        for (int i = 0;i < list.length; i++) {
            list[i] = ran.nextInt(100);
            sum += list[i];
        }
        System.out.println(sum);
        System.out.println(Arrays.toString(list));
    }
}

3. 需求:求出数组中索引与索引对应的元素都是奇数的元素

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

public class Work03 {
    public static void main(String[] args) {
        Random ran = new Random();
        int[] arr = new int[8];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = ran.nextInt(100);
            if (i % 2 != 0 & arr[i] % 2 != 0) {
                System.out.println(arr[i]);
            }
        }
        System.out.println(Arrays.toString(arr));
    }
}

4. 按要求在main方法中完成以下功能:

  • a. 定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字作为数组元素
  • b. 生成2-10(范围包含2和10)之间的随机数num
  • c. 遍历数组arr,筛选出数组中不是num倍数的元素并输
  • PS:输入的数组元素范围包括1和60,不需要代码判断
import java.util.Random;
import java.util.Scanner;

public class Work04 {
    public static void main(String[] args) {
        int[] arr = new int[5];
        Random ran = new Random();
        int num = ran.nextInt(9) + 2;
        Scanner input = new Scanner(System.in);
        for (int i = 0; i < 5; i++) {
            System.out.printf("请输入第%d个数据(1~60)\n",i+1);
            arr[i] = input.nextInt();
        }
        for (int i: arr) {
            if (i % num != 0) {
                System.out.println(i);
            }
        }
    }
}

5 .有一个数组int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78};要求打印数组中能被6整除的元素。

public class Work05 {
    public static void main(String[] args) {
        int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78};
        for (int i: arr) {
            if (i % 6 == 0) {
                System.out.println(i);
            }
        }
    }
}

6. 定义一个长度为20的数组,元素为20-40的随机数,要求判断指定元素在数组中出现的次数,指定元素为键盘录入范围为20-40之间。

import java.util.Random;
import java.util.Scanner;

public class Work06 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        Random ran = new Random();
        int sum = 0;
        System.out.println("请输入一个20~40之内的值");
        int num = input.nextInt();
        int[] arr = new int[20];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = ran.nextInt(20)+20;
            if (arr[i] == num) {
                sum += 1;
            }
        }
        System.out.println(sum);
    }
}

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

数组:{2, 1, 3, 5, 4}
表示的整数为:21354 // 注:是整数类型的两万一千三百五十四,不是字符串拼起来的。
public class Work07 {
    public static void main(String[] args) {
        int[] arr = {2, 1, 3, 5, 4};
        int sum = 0;
        for (int i: arr) {
            sum = sum * 10 + i;
        }
        System.out.println(sum);
    }
}

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

import java.util.Arrays;

public class Work08 {
    public static void main(String[] args) {
        int[] arr = {46, 28, 69, 39, 4, 23};
        int[] arr1 = new int[6];
        int num = 0;
        int num2 = 5;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 != 0) {
                arr1[num] = arr[i];
                num++;
            } else {
                arr1[num2] = arr[i];
                num2--;
            }
        }
        System.out.println(Arrays.toString(arr1));
    }
}

9. 在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。

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

public class Work09 {
    public static void main(String[] args) {
        Random ran = new Random();
        int[] arr = new int[6];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = ran.nextInt(101);
        }
        int sum = 0;
        for (int i:arr) {
            if (i != Arrays.stream(arr).max().getAsInt() & i != Arrays.stream(arr).min().getAsInt()) {
                sum += i;
            }
        }
        double avg = (double) sum / 4;
        System.out.println(avg);
    }
}

10. 现有一个int 数组,数组中有十个元素。将数组反转后输出。

import java.util.Arrays;

public class Work10 {
    public static void main(String[] args) {
        int[] arr = {0,1,2,3,4,5,6,7,8,9};
        for (int i = 0; i < arr.length / 2; i++) {
            arr[i] = arr[i] ^ arr[arr.length-i-1];
            arr[arr.length-i-1] = arr[i] ^ arr[arr.length-i-1];
            arr[i] = arr[i] ^ arr[arr.length-i-1];
        }
        System.out.println(Arrays.toString(arr));
    }
}

你可能感兴趣的:(Java,java,排序算法,开发语言)