Java数组练习题

1.练习一

第一题:需求:求出数组中的元素最大值
步骤:
  1.定义一个max,接收两个元素之间的较大值
  2.遍历数组,将每一个元素获取出来进行比较
  3.判断,如果max小于遍历出来的元素,证明遍历出来的元素大,将大的元素赋值给max
  4.直接输出max

public class Demo01GetMax {
    public static void main(String[] args) {
        int[] arr = {5,3,5,7,4,6,8,9};
        //1.定义一个max,接收两个元素之间的较大值
        int max = arr[0];
        //2.遍历数组,将每一个元素获取出来进行比较
        for (int i = 1; i < arr.length; i++) {
        //3.判断,如果max小于遍历出来的元素,证明遍历出来的元素大,将大的元素赋值给max
            if (max<arr[i]){
                max = arr[i];
            }
        }
        //4.直接输出max
        System.out.println("max = " + max);
    }
}

 

2.练习二

随机产生10个[0,100]之间整数,统计既是3又是5,但不是7的倍数的个数
步骤:
 1.创建一个Random对象,用于搞随机数
 2.定义一个数组,长度为10
 3.定义一个变量count,用来统计个数
 4.遍历数组,判断元素是否符合指定条件,如果符合,count++
 5.输出count   

public class Demo02Count {
    public static void main(String[] args) {
        //1.创建一个Random对象,用于搞随机数
        Random rd = new Random();
        //2.定义一个数组,长度为10
        int[] arr = new int[10];
        //3.定义一个变量count,用来统计个数
        int count = 0;

        for (int i = 0; i < arr.length; i++) {
            arr[i] = rd.nextInt(101);
        }

        for (int i = 0; i < arr.length; i++) {
        //4.遍历数组,判断元素是否符合指定条件,如果符合,count++
           if (arr[i]%3==0 && arr[i]%5==0 && arr[i]%7!=0){
               count++;
           }
        }
        //5.输出count
        System.out.println("count = " + count);
    }
}

3.练习三

用一个数组存储本组学员的姓名,从键盘输入,并遍历显示

public class Demo03Print {
    public static void main(String[] args) {
        String[] arr = new String[3];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请您输入第"+(i+1)+"个学员姓名:");
            arr[i] = sc.next();
        }

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

4.练习四

需求:
  1.定义一个数组 int[] arr = {1,2,3,4}
  2.遍历数组,输出元素按照[1,2,3,4]

public class Demo04PrintRegex {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4};
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.print(arr[i] + "]");
            } else {
                System.out.print(arr[i] + ",");
            }
        }
    }
}

5.练习五

需求:随机50个1-100之间的整数,统计偶数个数 

public class Demo05Count {
    public static void main(String[] args) {
        //定义长度为50的数组
        int[] arr = new int[50];
        //创建Random对象
        Random rd = new Random();
        //存数据
        for (int i = 0; i < arr.length; i++) {
            arr[i] = rd.nextInt(100)+1;
        }

        //定义一个count,用于统计偶数个数
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]%2==0){
                count++;
            }
        }

        System.out.println("count = " + count);
    }
}

6.练习六

键盘录入一个整数,找出整数在数组中存储的索引位置

步骤:
  1.创建Scanner对象
  2.定义数组,随便存几个数据
  3.遍历数组,在遍历的过程中判断是否和录入的数相等,如果相等,输出索引

public class Demo06Search {
    public static void main(String[] args) {
        //1.创建Scanner对象
        Scanner sc = new Scanner(System.in);
        //2.定义数组,随便存几个数据
        int[] arr = {11,22,33,44,55,66,22};
        int data = sc.nextInt();
        //3.遍历数组,在遍历的过程中判断是否和录入的数相等,如果相等,输出索引
        for (int i = 0; i < arr.length; i++) {
            if (data==arr[i]){
                System.out.println(i);
            }
        }
    }
}

7.练习七_数组扩容

数组扩容
需求:
  定义一个数组:int[] arr1 = {1,2,3,4,5}
             将数组由原来的长度扩容到10

public class Demo04Array {
    public static void main(String[] args) {
        int[] oldArr = {1,2,3,4,5};
        //创建新数组
        int[] newArr = new int[10];

        //将老数组中的元素复制到新数组中

        for (int i = 0; i < oldArr.length; i++) {
            newArr[i] = oldArr[i];
        }

        //将新数组中的地址值给老数组
        oldArr = newArr;

        //遍历oldArr
        System.out.println(oldArr.length);

        System.out.println("==================");

        for (int i = 0; i < oldArr.length; i++) {
            System.out.println(oldArr[i]);
        }
    }
}

8.练习八_数组合并

 数组合并
int[] arr1 = {1,2,3}
int[] arr2 = {4,5,6}

public class Demo05Array {
    public static void main(String[] args) {
        int[] arr1 = {1,2,3};
        int[] arr2 = {4,5,6};

        //创建新数组
        int[] newArr = new int[arr1.length+arr2.length];

        for (int i = 0; i < arr1.length; i++) {
            newArr[i] = arr1[i];
        }

        /*
          由于已经保存了arr1的三个元素
          所以我们保存arr2的元素时,就不能从索引0开始了,不然从arr1中保存的元素会被arr2的元素覆盖

          arr2的元素需要从newArr的索引3开始保存
         */
        //先获取arr1的长度为3
        int len = arr1.length;

        for (int i = 0; i < arr2.length; i++) {

            /*
              newArr[3+0] = arr2[0] ;i++
              newArr[3+1] = arr2[1] ;i++
              newArr[3+2] = arr2[2] 
             */
            newArr[len+i] = arr2[i];
        }


        for (int i = 0; i < newArr.length; i++) {
            System.out.print(newArr[i]+"  ");
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值