Java 如何设置此二维布尔数组?

Java 如何设置此二维布尔数组?,java,arrays,if-statement,boolean,Java,Arrays,If Statement,Boolean,所以我必须解决这个问题,但这些数组让我困惑,因为我不知道如何将布尔值与数组结合起来,然后将它们正确地组织起来。我知道这是一个完全错误的代码,但我真的不知道该怎么做。以下是说明: 声明大小为5和10的二维布尔数组 如果随机值为0.5,则用true填充数组,否则为false public class DoubleArray { public static void main(String [] args) { double [][] a = new double[10][15];

所以我必须解决这个问题,但这些数组让我困惑,因为我不知道如何将布尔值与数组结合起来,然后将它们正确地组织起来。我知道这是一个完全错误的代码,但我真的不知道该怎么做。以下是说明:

声明大小为5和10的二维布尔数组

如果随机值为0.5,则用true填充数组,否则为false

  public class DoubleArray {

  public static void main(String [] args) {


  double [][] a = new double[10][15];
  int zeroCount = 0;               
  for (int i= 0; i<a.length;i++)
   {                               
      if (Math.random()>0.5)  {

           System.out.println("1" + "\t" + "1");
       }
    else 
    {

        zeroCount++;    // increment
        System.out.println("0" + "\t" + "0");

    }
}
System.out.println("Number of zeros is " + zeroCount);  

}
}
打印数组中false的数目

每行打印一行阵列

每行打印一行数组索引

仅打印具有真实值的单元格索引

  public class DoubleArray {

  public static void main(String [] args) {


  double [][] a = new double[10][15];
  int zeroCount = 0;               
  for (int i= 0; i<a.length;i++)
   {                               
      if (Math.random()>0.5)  {

           System.out.println("1" + "\t" + "1");
       }
    else 
    {

        zeroCount++;    // increment
        System.out.println("0" + "\t" + "0");

    }
}
System.out.println("Number of zeros is " + zeroCount);  

}
}
公共类双数组{
公共静态void main(字符串[]args){
double[]a=新的double[10][15];
int零计数=0;
对于(int i=0;i0.5){
System.out.println(“1”+“\t”+“1”);
}
其他的
{
zeroCount++;//增量
System.out.println(“0”+“\t”+“0”);
}
}
System.out.println(“零的数量为”+zeroCount);
}
}

非常简单:只需迭代该数组并为每个单元格赋值:

boolean booleanData[][] = new boolean[10][5];
for(int i = 0; i < booleanData.length; i++) {
  for(int j = 0; j < booleanData[i].length; j++) {
    if ( if (Math.random()>0.5) {
      booleanData[i][j] = true;
    } else {
      booleanData[i][j] = false;
      zeroCount++;
    }

虽然GhostCat已经有了一个很好的答案,但为了好玩,我决定制作一个你想要的基本版本。以下是我的想法:

        boolean[][] a = new boolean[5][10];
        int falseCount = 0;
        String trueIndexes = "";

        for (int i = 0; i < a.length; i++){         //For every row...
            for (int j = 0; j < a[i].length; j++){  //For every column...

                 if (Math.random() > 0.5)  {        //Assign values to array
                     a[i][j] = true;
                 }
                 else{
                     a[i][j] = false;
                     falseCount++;                  //For every false value, increase the count
                 }
             }
        }
        System.out.println(falseCount);             //Print number of false values

        for (int i = 0; i < a.length; i++){
            for (int j = 0; j < a[i].length; j++){

                 System.out.print(a[i][j] + " ");   //Print out values

            }
            System.out.println();
        }


        for (int i = 0; i < a.length; i++){
            for (int j = 0; j < a[i].length; j++){

                 System.out.print(j + " ");         //Print out indexes
                 if(a[i][j] == true){
                     trueIndexes += " " + i + "," + j + " "; //Add up true value indexes
                 }
            }
            System.out.println();
        }

        System.out.println(trueIndexes);            //Print out true values

您可以进行许多改进,例如为用于打印元素的
循环组合两个
(提示:看看
trueindex
是如何实现的,记住
“\n”
)但我希望这个例子能为您提供一些上下文,帮助您制作自己的版本。

不幸的是,您的程序与要求您做的相去甚远。一些提示:为什么要声明一个
double
的二维数组,而它应该是
boolean
?为什么尺寸与规格不同?要使用2D数组,您通常需要嵌套循环。请告诉我我的答案是否有助于您取得进展(例如接受它);或者让我知道,如果有一些具体的细节,你需要更多的帮助。
23
 false false false false true true false false false false 
 true false false true true true true false true false 
 true true false true false false true true false true 
 false false false true true true true false true true 
 true true false true false true true true true false 
 0 1 2 3 4 5 6 7 8 9 
 0 1 2 3 4 5 6 7 8 9 
 0 1 2 3 4 5 6 7 8 9 
 0 1 2 3 4 5 6 7 8 9 
 0 1 2 3 4 5 6 7 8 9 
0,4  0,5  1,0  1,3  1,4  1,5  1,6  1,8  2,0  2,1  2,3  2,6  2,7  2,9  3,3  3,4  3,5  3,6  3,8  3,9  4,0  4,1  4,3  4,5  4,6  4,7  4,8