Java 用随机值填充模拟数组的家庭作业
如何创建xy矩阵(其中x我将首先确定矩阵中有多少个0,从最小/最大范围内获得一个随机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
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);