我正在为我正在参加的JAVA课程做作业。我们正在讨论二维数组,但是在这个特定的赋值中,我无法弄清楚如何返回特定的点并用特定的值设置这些点。这是作业:
编写一个名为create2DArray的方法,该方法将填充,创建并返回一个10 x 10 2d数组,其中随机数的范围为1到100.编写一个名为print2DArray的方法,该方法将在行列中打印10 x 10 2D数组时尚。编写一个名为createCoords的方法,它将搜索2D数组,查找可被3整除的任何值。一旦找到了数字,就应该记录行,列的位置。这意味着当您的方法完成时,它应该生成一个坐标列表,我可以用它来绘制我的图形。此方法还必须返回可被3整除的坐标数,以便我知道要绘制多少个点。我没有特别关于如何返回坐标,只要我得到行,列位置的列表。所以,我将留给你制定一个返回值的机制。要测试您已记录坐标,请创建另一个名为fillLocations的函数,该函数将填充您使用-1记录的数组中的位置。所以,你的程序应按此顺序流动1.create2DArray 2.print2DArray 3.createCoords 4.fillLocations 5.print2DArray
我理解并完成了create2DArray和print2DArray,但我无法弄清楚createCoords和fillLocations。这是我到目前为止所做的,但它不起作用,并且存在错误:
public int createCoords(int row1, int col1){
int[][] coords = new int[row1][col1];
int[][] count = new int[0][0];
int co = 0;
for(int row = 0; row < 10; row++)
{
for(int col = 0; col < 10; col++)
{
if(coords[row][col] % 3 == 0)
co++;
return count[row][col];
}
}
return co;}
public int fillLocations(int[][] count){
int x = 0;
int y = 0;
for(int row = 0; row < 10; row++)
{
for(int col = 0; col < 10; col++)
{
if(count[row][col] % 3 == 0)
x = row;
y = col;
break;
}
}
return (x, y);}
答案 0 :(得分:0)
您的代码存在一些问题。首先,对于fillLocations方法,您需要返回NUMBER个单元格([row] [column]),其中值可以被3整除。这意味着对于通过测试的每个值: if(coords [row] [col]%3 === 0) 然后你应该将计数器增加1。 因此,对于此部分,您的代码将如下所示:
$count = "SELECT COUNT(*) FROM articles LIMIT 5,10";
请参阅如何在Java中创建和操作2D数组。 Syntax for creating a two-dimensional array
答案 1 :(得分:0)
我不打算编写代码,但几乎我要做的是:
我会有一个单独的2d布尔数组,其大小与2d int数组相同,自动填充false。这将在createCoords中进行。
使用嵌套for循环遍历2d int数组的所有地址,当我找到一个可被3整除的数字时,我将布尔数组上的对应点标记为“true”。这也适用于createCoords。
在for循环结束后,然后我查看原始的2d int数组和布尔数组。我会再次使用嵌套的for循环,当我在布尔数组中找到一个真值时,我会将int数组上的相应位置标记为-1。这将在fillLocations中进行。您还应该将2d布尔数组与2d int数组一起传递给fillLocation。
祝你好运!编辑:假设FillLocation函数在10x10 int数组中使用-1替换值。这就是我解释你的问题的原因。如果我错了,请纠正我。我还在每个段落的末尾添加了一个简短的描述,其中每段代码都会出现。