Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 2D数组以不同的间隔分配不同的值_Java_Arrays - Fatal编程技术网

Java 2D数组以不同的间隔分配不同的值

Java 2D数组以不同的间隔分配不同的值,java,arrays,Java,Arrays,如果我不清楚,我道歉。我是编程新手。假设我有一个char[10][10]。我想每隔一段时间分配两个+字符,例如I[0][0]到I[5][7]有Y,其余的有N。如果可能,我该怎么做?我已经花了6个多小时试图解决这个问题。这可以通过循环来完成 for(int i = 0; i < 5; i++){ for(int j = 0; j < 7; j++){ i[i][j] = 'N'; } for(int j = 7; j < 10; j++){

如果我不清楚,我道歉。我是编程新手。假设我有一个char[10][10]。我想每隔一段时间分配两个+字符,例如I[0][0]到I[5][7]有Y,其余的有N。如果可能,我该怎么做?我已经花了6个多小时试图解决这个问题。

这可以通过循环来完成

for(int i = 0; i < 5; i++){
   for(int j = 0; j < 7; j++){
      i[i][j] = 'N';
   }
   for(int j = 7; j < 10; j++){
      i[i][j] = 'Y';
   }
}
for(int i = 5; i < 10; i++){
   for(int j = 0; j < 10; j++){
      i[i][j] = 'Y';
   }
}

尝试使用for循环和if-else。因为您要查找yes/no类型值,所以我在示例中只使用了boolean类型

boolean[][] arr = new boolean[10][10];
for(int i = 0; i < arr.length; i++) {
    for(int j = 0; j < arr[i].length; j++) {
        if(i < 6 && j < 8) 
            arr[i][j] = true;
        else
            arr[i][j] = false;
    }
}

一种可能的解决方案是有一个穿过行的“for”块和另一个穿过列的“for”块。可能是这样的

char[] arr= {'Y','N'};
int counter = 0; // <- these are optional depending on what you choose below
for(int j=0;j<10;j++){
    for(int k=0;k<10;k++){
        // i[j][k]= here you should assign the value
        counter++;
    }
}

赋值的方式取决于您想做什么。如果您想让它随机生成,您可以执行类似于i[j][k]=arr[intMath.random*2]的操作,或者如果您想让它在Y和N之间交替,您可以使用一个计数器变量并分配i[j][k]=arr[counter%2]。如果要将前半部分指定给“Y”,将另半部分指定给“N”i[j][k]=对于带有两个If块的循环,应该可以进行反向嵌套。它将arr[5][8]=设置为false。arr[5][9]=false。这个forint i:arr应该如何工作?该数组包含布尔值而不是int。而答案是实际答案。给一点解释可能是个好主意。这个问题确实表明,如果我不清楚,我道歉。我是编程新手,这是一个很好的观点——我想如果是我,我更喜欢看一个简单的例子。
char[][] theArray = new char[10][10]
upToX = 5; // limit for rows
upToY = 7; // limit for columns

for(int i = 0; i < 10; i++ ){
   for(int j = 0; j< 10; j++ ){
      if((i+1)*(j+1) <= (upToX+1)*(upToY+1)){ 
         theArray[i][j] = 'Y';
      }
      else{
         theArray[i][j] = 'N';
      }
   }
}