Java数组基础题

一、定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值 操作步骤:

1.定义5个元素数组

2.可以使用初始化数组的两种方式之一为数组元素赋值

3.遍历数组求数组中的最小值

public class Min {
    public static void main(String[] args) {
        int[] arr = {8,12,5,9,29};
        int min = arr[0];
        for (int i = 1;i < arr.length;i ++){
            if (i < arr[i]){
                min = arr[i];
            }
        }
        System.out.println("最小值是:" + min);
    }
}

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

import java.util.Random;

public class RandomSum {
    public static void main(String[] args) {
        int[] arr = new int[6];
        Random random = new Random();
        int sum = 0;

        for (int i = 0; i < arr.length; i++) {
            arr[i] = random.nextInt(100); // 生成0到100之间的随机整数
            sum += arr[i];
        }

        System.out.print("生成的数组为:");
        for (int num : arr) {
            System.out.print(num + " ");
        }

        System.out.println("\n数组中所有元素的和为:" + sum);
    }
}

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

分析: 1、遍历数组

2、判断索引是否是奇数(索引 % 2 != 0)

3、判断索引对应的元素是否是奇数(arr[索引] % 2 != 0)

4、满足条件输出结果

/**
 * @author Administrator
 */
public class OodNumber{
    public static void main(String[] args) {
        int[] arr = {1, 4, 5, 7, 15, 16, 17, 19, 21};

        System.out.println("数组中索引和对应元素都是奇数的元素为:");
        for (int i = 0; i < arr.length; i++) {
            if (i % 2 != 0 && arr[i] % 2 != 0){
                System.out.println(arr[i]);
            }
        }
    }
}

四、按要求在main方法中完成以下功能:

a. 定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字作为数组元素

b. 生成2-10(范围包含2和10)之间的随机数num

c. 遍历数组arr,筛选出数组中不是num倍数的元素并输出

(输入的数组元素范围包括1和60,不需要代码判断)

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

public class Temp1 {
    public static void main(String[] args) {
        int[] arr = new int[5];
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();

        System.out.println("请输入5个1-60之间的数字作为数组元素:");
        for (int i = 0; i < arr.length; i++) {
            arr[i] = scanner.nextInt();
        }

        int num = random.nextInt(9) + 2; // 生成2-10之间的随机数

        System.out.println("生成的随机数为:" + num);
        System.out.print("筛选出的不是" + num + "倍数的元素为:");
        for (int element : arr) {
            if (element % num != 0) {
                System.out.print(element + " ");
            }
        }
    }
}

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

public class Temp2 {
    public static void main(String[] args) {
        int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78};
        System.out.println("输出能被6整除的元素:");
        for (int i = 0;i < arr.length;i ++){
            if (arr[i] % 6 == 0){
                System.out.print(arr[i] + " ");
            }
        }
        System.out.println();
    }
}

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

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

public class Temp3 {
    public static void main(String[] args) {
        int[] arr = new int[20];
        Random random = new Random();
        Scanner scanner = new Scanner(System.in);

        //生成随机数组
        for (int i = 0;i < arr.length;i ++){
            arr[i] = 20 + random.nextInt();   //生成20到40之间的随机数
        }

        //键盘录入指定元素
        System.out.println("请输入一个20到40之间的整数作为指定元素:");
        int target = scanner.nextInt();

        //统计指定元素出现次数
        int count = 0;
        for (int m : arr){
            if (m == target){
                count++;
            }
        }
        System.out.println("指定元素" + target + "出现的次数" + count);
    }
}

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

数组:{2,1,3,5,4}

表示的整数为21354(注意是整数类型的两万一千三百五十四,不是字符串拼起来的)

 

public class Temp4 {
    public static void main(String[] args) {
        int[] arr = {2,1,3,5,4};
        int value = calculateIntegerValue(arr);

        System.out.println("数组表示的整数值为:" + value);
    }

    private static int calculateIntegerValue(int[] arr) {
        int value = 0;
        int multiplier = 1;

        for (int i = arr.length - 1; i >= 0; i--) {
            value += arr[i] * multiplier;
            multiplier *= 10;
        }

        return value;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值