我是java的初学者,所以请放轻松我。我正在研究处理二维数组的练习方法问题。问题是一种方法,它告诉您将名为array的二维字符数组作为参数。然后,它希望您将数组的所有元素初始化为“x”,除了初始化为“o”的边界(第一列和最后一列,以及第一行和最后一行)。
我的问题是你如何初始化每个元素以在二维数组中表示x和y,以及如何初始化周边的每个行和列元素? 例如,创建3行乘4列的二维数组 -
char[][] table = new char[3][4]
- 只用o填充桌子的外围,其余内部用x正确填充?
这基本上是输出的样子吗?
{ o, o, o, o},
{ o, x, x, o},
{ o, o, o, o},
此外,如果我不能接近理解问题,有人可以引导我朝着正确的方向前进吗?
由于
答案 0 :(得分:0)
最好将其作为两个独立的问题处理:
第一个问题很容易解决:迭代第一行和最后一行并将每个元素设置为“' o”。第二个问题分解为
2a上。将第一列和最后一列初始化为' o'
2B。将剩余列初始化为' x'
假设一行的长度为length
,则用
array[0] = 'o';
array[length - 1] - 'o';
for(int i = 1; i < length - 1; i++)
array[i] = 'x'
答案 1 :(得分:0)
new
int数组将初始化为全零。
所以int [] [] array = new int [3] [4];
看起来像
{0,0,0,0}
{0,0,0,0}
{0,0,0,0}
你必须自己设置周边的工作
你想要的是嵌套一些循环并确定你在数组中的位置并相应地设置: (伪代码)
for i loop through array.length
for j loop through array[i].length
if i == first element or i == last element or j == first element or j == last element
then array[i][j] = perimeter value
else
array[i][j] = center value
n长度的数组有n个元素,用0到n-1表示,所以如果你有这样的数组
{1,2,3,4}
array [0]将为1,这是因为Java数组基于零。
鉴于此,第一个将始终为0,最后一个将为length-1