java - 二维数组如何避免相同的数字

标签 java

晚上好,我想用不同的数字填充一个 5 x 5 的表格,我不想每列都有相同的数字,我有限制,应该属于某个限制,我能够做到,但没有知道如何避免表中的数字不超过一次

int num;
        int [][] array = new int [5][5];
        Random r = new Random();
        for (int row = 0; row < array.length; row++) {
            for (int col = 0; col < array[row].length; col++) { 
            if(row == 0){
                     num =r.nextInt(15);
                    array[row][col]=num;
            }else if(row == 1){
                     num =r.nextInt(31-16)+16;
                    array[row][col]=num;
            }else if(row == 2){
                     num =r.nextInt(45-31)+31;
                    array[row][col]=num;
            }else if(row == 3){
                     num =r.nextInt(61-46)+46;
                    array[row][col]=num;
            }else if(row == 4){
                     num =r.nextInt(75-61)+61;
                    array[row][col]=num;
            }
            }
        }

最佳答案

对于每一行,创建一个包含它可以包含的整数的列表,然后打乱该列表(使用Collections.shuffle()),并保留前 5 个元素。

或者,如果您的目标是使整个表具有不同的元素,请创建一个包含矩阵可以包含的所有整数的列表,然后打乱该列表,并迭代该列表以填充您的矩阵。

关于java - 二维数组如何避免相同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16145853/

相关文章:

java - 在身份验证完成之前获取 j_username

java - "connectionTimeout"在Tomcat中到底是什么意思?

java - Trie 树在 Android 中崩溃

java - sonarRunner java.lang.OutOfMemoryError : PermGen space

java - 即使未使用步骤定义类,钩子(Hook)执行后的 cucumber 步骤定义类也会执行吗?

java - 如何在 Maven 中构造一个新项目,以便它找到 jar 文件并且不会给出依赖项错误

java - 数独 - 如何检查行、列、子方 block 中的重复项?

java - 使用标准在 hibernate 中对 varchar 类型的列应用数字和排序依据?

java - 查找整数数组中给定数字之和的最小集合

java - 是否可以编写一个静态方法来更改该类的对象的所有实例