Java *二维数组*在数组上绘制点

时间:2016-04-17 19:49:23

标签: java arrays multidimensional-array methods plot

我正在为我正在参加的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);}

2 个答案:

答案 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替换值。这就是我解释你的问题的原因。如果我错了,请纠正我。我还在每个段落的末尾添加了一个简短的描述,其中每段代码都会出现。