Java中的随机布尔2d数组始终返回;假;
我只是想创建一个随机布尔2d数组,但它总是返回false…运算符“&&”有问题吗?我不明白Java中的随机布尔2d数组始终返回;假;,java,arrays,boolean,Java,Arrays,Boolean,我只是想创建一个随机布尔2d数组,但它总是返回false…运算符“&&”有问题吗?我不明白 public static void main(String[] args){ boolean[][] arr = new boolean[5][5]; Random r = new Random(); boolean row = r.nextBoolean(); boolean col = r.nextBoolean(); for(int i=0 ; i<
public static void main(String[] args){
boolean[][] arr = new boolean[5][5];
Random r = new Random();
boolean row = r.nextBoolean();
boolean col = r.nextBoolean();
for(int i=0 ; i<arr.length ; i++){
for(int j=0;j<arr[i].length;j++){
arr[i][j] = row && col;
System.out.print(arr[i][j]+"\t");
}
}
publicstaticvoidmain(字符串[]args){
布尔[][]arr=新布尔[5][5];
随机r=新随机();
布尔行=r.nextBoolean();
布尔列=r.nextBoolean();
对于(int i=0;i您只计算一次行和列,请尝试以下方法:
boolean[][] arr = new boolean[5][5];
Random r = new Random();
boolean row;
boolean col;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
row = r.nextBoolean();
col = r.nextBoolean();
arr[i][j] = row && col;
System.out.print(arr[i][j] + "\t");
}
}
boolean[][]arr=新的boolean[5][5];
随机r=新随机();
布尔行;
布尔列;
对于(int i=0;i
如果只计算一次行和列,请尝试以下方法:
boolean[][] arr = new boolean[5][5];
Random r = new Random();
boolean row;
boolean col;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
row = r.nextBoolean();
col = r.nextBoolean();
arr[i][j] = row && col;
System.out.print(arr[i][j] + "\t");
}
}
boolean[][]arr=新的boolean[5][5];
随机r=新随机();
布尔行;
布尔列;
对于(int i=0;i
我想您只需要为数组中的每个单元格创建一个新的随机布尔值,如下所示:
public static void main(String[] args){
boolean[][] arr = new boolean[5][5];
Random r = new Random();
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i].length; j++){
arr[i][j] = r.nextBoolean();
System.out.print(arr[i][j]+"\t");
}
}
}
publicstaticvoidmain(字符串[]args){
布尔[][]arr=新布尔[5][5];
随机r=新随机();
对于(int i=0;i
我想您只需要为数组中的每个单元格创建一个新的随机布尔值,如下所示:
public static void main(String[] args){
boolean[][] arr = new boolean[5][5];
Random r = new Random();
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i].length; j++){
arr[i][j] = r.nextBoolean();
System.out.print(arr[i][j]+"\t");
}
}
}
publicstaticvoidmain(字符串[]args){
布尔[][]arr=新布尔[5][5];
随机r=新随机();
对于(int i=0;i
在考虑了您可能想要什么之后,这似乎更合理:
每行为布尔值,每列为布尔值,如下所示:
int columns =5;
int rows =5;
boolean[][] arr = new boolean[rows][columns];
Random r = new Random();
boolean[] row = new boolean[rows];
boolean[] col = new boolean[columns];
for(int i=0; i<rows; i++){
row[i] = r.nextBoolean();
}
for(int i=0; i<columns; i++){
col[i] = r.nextBoolean();
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = row[i] && col[j];
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
int列=5;
int行=5;
布尔[][]arr=新的布尔[行][列];
随机r=新随机();
布尔[]行=新的布尔[行];
布尔[]列=新的布尔[列];
对于(int i=0;i在考虑了您可能需要的内容后,这似乎更合理:
每行为布尔值,每列为布尔值,如下所示:
int columns =5;
int rows =5;
boolean[][] arr = new boolean[rows][columns];
Random r = new Random();
boolean[] row = new boolean[rows];
boolean[] col = new boolean[columns];
for(int i=0; i<rows; i++){
row[i] = r.nextBoolean();
}
for(int i=0; i<columns; i++){
col[i] = r.nextBoolean();
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = row[i] && col[j];
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
int列=5;
int行=5;
布尔[][]arr=新的布尔[行][列];
随机r=新随机();
布尔[]行=新的布尔[行];
布尔[]列=新的布尔[列];
对于(inti=0;i,这里是编译和工作的JAVA解决方案
/*不管什么包;//不要放置包名*/
导入java.util.*;
导入java.lang.*;
导入java.io.*;
/*只有当类是公共的时,类的名称才必须是“Main”*/
公共静态void main(字符串[]args)引发java.lang.Exception
{
布尔[][]arr=新布尔[5][5];
int-cnt=0;
对于(int i=0;i
这里是编译好的、可以工作的JAVA解决方案
/*不管什么包;//不要放置包名*/
导入java.util.*;
导入java.lang.*;
导入java.io.*;
/*只有当类是公共的时,类的名称才必须是“Main”*/
公共静态void main(字符串[]args)引发java.lang.Exception
{
布尔[][]arr=新布尔[5][5];
int-cnt=0;
对于(int i=0;i
我不确定把行
和列
分开,然后从中取一个&
是否有任何意义。它所做的只是将真
元素的数量减少大约两倍。@khelwood是的,两个,而不是四个!我想也许他以后想从中得到一些东西,为什么他还要有两个呢o随机数?啊,我想我现在知道了,他到底想要什么。但这应该是另一个答案。很难说OP想要做什么。我唯一的猜测是,他可能希望在每行和每列中都有相同的boolean
s,例如boolean[]row=new boolean[5];boolean[]col=new boolean[5];
将它们设置为随机值,然后使用arr[i][j]=行[i]&列[j]
。这只是我的想法,因此是第二个答案。我不确定是否有必要将行
和列
分开,然后取一个&
。它所做的只是将真
元素的数量减少大约两倍。@khelwood对,两个,而不是四个!我想也许他想得到一些我想我现在知道了,他到底想要什么。但这应该是另一个答案。很难说OP想要做什么。我唯一的猜测是,他可能希望在每一行和每一列中都有相同的boolean
s,例如boolean[]row=new boolean[5];boolean[]col=new boolean[5];
将它们设置为随机值,然后使用arr[i][j]=row[i]&&col[j]
。这正是我的想法,因此第二个答案很乐意帮忙!你能将我的答案标记为正确吗?很乐意帮忙!你能将我的答案标记为正确吗?