当前位置 博文首页 > YHSevenWater的博客:Java创建int类型数组,数组元素之间互不相

    YHSevenWater的博客:Java创建int类型数组,数组元素之间互不相

    作者:[db:作者] 时间:2021-08-11 16:07

    创建一个长度为6的int类型的数组,要求数组元素取值为1~30之间,并且两两之间不等。(用两种方法进行解决)

    方法一

    package com.java.arraysdemo;
    import java.util.Random;
    //创建一个长度为6的int类型的数组,要求数组元素取值为1~30之间,并且两两之间不等。
    //方法一
    public class ArrayDemo {
        public static void main(String[] args) {
            int [] array = new int[6];
            for (int i = 0; i < array.length; i++) {
                array[i] = (int)(Math.random()*30+1);
                for (int j = 0; j < i; j++) {   //借助双层循环,单层循环容易发生数组越界问题,一维数组就可以解决问题。
                    if(array[i] == array[j]){   //确保两两之间不相等,如若相等,i--,重新赋值。
                        i--;
                        break;
                    }
                }
            }
            System.out.println("所创建的数组为:");
            for (int i = 0; i < 6; i++) {
                System.out.print(array[i]+"\t");
            }
        }
    }
    

    在这里插入图片描述

    方法二

    package com.java.arraysdemo;
    import java.util.Random;
    //创建一个长度为6的int类型的数组,要求数组元素取值为1~30之间,并且两两之间不等。
    //方法二
    public class ArrayDemo4 {
        public static void main(String[] args) {
            int [] array = new int[6];
            for (int i = 0; i < array.length; i++) {
                array[i] = (int)(Math.random()*30+1);
                boolean flag = false;
                while(true){    //构建一个while循环
                    for (int j = 0; j < i; j++) {   //两两比较
                        if(array[i] == array[j]){
                            flag = true;
                            break;
                        }
                    }
                    if(flag){   //如若相等,则重新赋值。
                        array[i] = (int)(Math.random()*30)+1;
                        flag = false;
                        continue;
                    }
                    break;
                }
            }
            System.out.println("所创建数组为:");
            for (int i = 0; i < array.length; i++) {
                System.out.print(array[i]+"\t");
            }
        }
    }
    

    在这里插入图片描述

    cs