我想将2D数组分成4个区域。我已经使用5x5阵列完成了它。可以用10x10做到吗?在过去的5个小时里,我一直在挠头。这是我的5x5:
char array1 [][] = new char [5][5];
for(int k = 0; k < array1.length; k++)
{
for(int j = 0; j < array1[k].length; j++)
{
array1[k][j] = 'E';
System.out.print(array1[k][j] + " ");
}
System.out.print("|" + " ");
for(int j = 0; j < array1[k].length; j++)
{
array1[k][j] = 'E';
System.out.print(array1[k][j] + " ");
}
System.out.println();
}
int line = 1;
while(line<=22){System.out.print('-'); line++;}
System.out.println();
for(int k = 0; k < array1.length; k++)
{
for(int j = 0; j < array1[k].length; j++)
{
array1[k][j] = 'E';
System.out.print(array1[k][j] + " ");
}
System.out.print("|" + " ");
for(int j = 0; j < array1[k].length; j++)
{
array1[k][j] = 'E';
System.out.print(array1[k][j] + " ");
}
System.out.println();
}
我甚至尝试使用增强的for循环,但事情变得更加复杂。
抱歉,我不够清楚。我的意思是,我发布的代码已经给出了我想要的输出。但我想知道我是否可以使用10x10 2D阵列获得相同的输出。 (10x10 2D阵列,分为4个区域,每个区域为5x5)
答案 0 :(得分:0)
你的代码工作得很好。变化:
array1[5][5]
通过
array1[10][10]
和
while(line<=22){System.out.print('-'); line++;}
通过
while (line <= (array1[0].length*2+1)*2){System.out.print('-'); line++;}
正如你所说,你搜索了5个小时,我认为你必须更清楚问题描述。
答案 1 :(得分:0)
如果您的目标是打印漂亮的图像,将其划分为四个部分,就像您的代码一样,您可以使用该代码:
int size = 10;
for (int i = 0; i < size * 2; i++) {
if (i == size) {
for (int j = 0; j <= size * 4; j++) {
System.out.print("-");
}
System.out.println();
}
for (int j = 0; j < size * 2; j++) {
if (j == size) System.out.print("| ");
System.out.print("E ");
}
System.out.println();
}
将变量'size'更改为您需要的任何大小。