Java 用随机值填充模拟数组的家庭作业

Java 用随机值填充模拟数组的家庭作业,java,matrix,Java,Matrix,如何创建xy矩阵(其中x我将首先确定矩阵中有多少个0,从最小/最大范围内获得一个随机int。然后我将计算其他xy-numzero随机整数。最后,对于矩阵中的每个单元格,我将从组合列表中选择一个随机元素(0+其他随机整数,在拾取元素时删除该元素)。random r=new random(); a=新整数[x][y]; int noZeros=r.nextInt((y*x)/2-x)+x; 布尔z[][]=新布尔[x][y]; 对于(int i=0;i

如何创建xy矩阵(其中x我将首先确定矩阵中有多少个0,从最小/最大范围内获得一个随机
int
。然后我将计算其他
xy-numzero
随机整数。最后,对于矩阵中的每个单元格,我将从组合列表中选择一个随机元素(0+其他随机整数,在拾取元素时删除该元素)。

random r=new random();
a=新整数[x][y];
int noZeros=r.nextInt((y*x)/2-x)+x;
布尔z[][]=新布尔[x][y];
对于(int i=0;i

在我的解决方案中,我创建了第一个布尔矩阵,它表示零,然后我选择了随机数,但从1到9。

谢谢!D你能帮我回答我的另一个问题吗?如何将这个矩阵用于其他类中具有相同索引的相同整数(例如“公共类游戏{…}”)我不知道我是否理解,但如果你想在类游戏中使用数组,类游戏必须扩展类解决方案,或者你必须在类游戏中创建一个新的对象类解决方案并调用方法getA()。SE不是用于家庭作业问题。相反,请说明你的确切问题。
import java.util.Random;

public class Solution {

    int a[][];

    public void P(int x, int y){
        Random r = new Random();
        a = new int[x][y];

        for (int i=0; i<x; i++){
            for (int j=0; j<y; j++){
                a[i][j] = r.nextInt(10);
                System.out.print(a[i][j] + " ");
            }
            System.out.println();
        }

        System.out.println();

        int zeros = 0;
        for (int i=0; i<x; i++){
            for (int j=0; j<y; j++){
                if(a[i][j]==0){
                    zeros ++;
                }
            }
        }
        System.out.println(zeros);
    }   

    public int[][] getA() {
        return a;
    }
}
Random r = new Random();
    a = new int[x][y];

    int noZeros = r.nextInt((y*x)/2-x) + x;

    boolean z[][] = new boolean[x][y];


    for (int i = 0; i < noZeros; i++) {
        z[r.nextInt(x)][r.nextInt(y)] = true;
    }

    for (int i = 0; i < x; i++) {
        for (int j = 0; j < y; j++) {
            if (!z[i][j]) {
                a[i][j] = r.nextInt(9) + 1;
            }
            System.out.print(a[i][j] + " ");
        }
        System.out.println();
    }



    System.out.println();

    int zeros = 0;
    for (int i = 0; i < x; i++) {
        for (int j = 0; j < y; j++) {
            if (a[i][j] == 0) {
                zeros++;
            }
        }
    }
    System.out.println(zeros);