【问题标题】:Java - Two-Dimensional Arrays - Plotting PointsJava - 二维数组 - 绘图点
【发布时间】:2016-08-09 10:36:37
【问题描述】:

我有一个正在学习的 JAVA 课程的作业。我们正在讨论二维数组,但是在这个特定的任务中,我无法弄清楚如何返回特定点并将这些点设置为特定值。这是作业:

编写一个名为 create2DArray 的方法,该方法将填充、创建和返回 一个 10 x 10 2d 数组,随机数在 1 到 100 之间。写 一个名为 print2DArray 的方法,它将在行中打印一个 10 x 10 2D 数组 列时尚。编写一个名为 createCoords 的方法来搜索 寻找可被 3 整除的任何值的 2D 数组。 找到数字后,您应该记录行、列位置。 这意味着当您的方法完成时,它应该生成一个列表 我可以用来绘制图表的坐标。这种方法也必须 返回可被 3 整除的坐标数,这样我 知道有多少点要绘制。我并不特别关心如何 只要我得到行的列表,坐标就会返回, 列位置。所以,我会留给你制定一个机制 用于返回值。测试您是否已登录 坐标创建另一个名为 fillLocations 的函数,它将 填写您登录的数组中的位置 -1。所以,你的程序应该按这个顺序流动

  1. create2DArray
  2. print2DArray
  3. 创建坐标
  4. 填充位置
  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);}

【问题讨论】:

  • “你目前拥有的东西”在哪里?
  • 提示,要查找可被 3 整除的坐标,您可以使用 %
  • 这看起来像是一道作业题。您必须先尝试自己解决它,如果您在那里遇到问题,那么您应该在此处使用相关代码提出问题。那么我们可以为您提供帮助。
  • @computer-programmer 按照老师提供的流程逐步进行。如果在任何步骤中您遇到任何您自己无法解决的特定问题(即使使用调试器),那么您可以在这里提出您的问题并期待好的答案。
  • 我已将当前代码添加到问题中。我不知道如何返回坐标并为坐标分配 -1 值。请帮忙。 @AliSeyedi

标签: java arrays multidimensional-array methods plot


【解决方案1】:

作为一名程序员,您几乎总是需要研究才能做不同的事情。当您将问题分解为较小的问题时,这项研究会更容易。

例如你需要生成随机数?所以在谷歌上搜索你会发现这个:How do I generate random integers within a specific range in Java?

您需要创建并返回一个二维数组吗?谷歌看看Syntax for creating a two-dimensional array

利用您的艺术,将拼图的各个部分拼凑在一起,从而获得您想要的结果。

public int[][] create2DArray() {        
    int[][] newArray = new int[10][10];
    Random random = new Random();
    int range = 100;
    for(int i = 0; i < 10; i++)
    {
        for(int j = 0;j<arr[0].length;j++)
        {
            newArray[i][j]= (random.nextInt(range) + 1);
        }
    }
    return newArray;
 }

此方法创建并返回一个10*10 二维数组,其中填充了 1-100 之间的随机生成数字。我相信您可以编写程序的其余部分并自己享受它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-05
    • 2017-03-17
    • 2018-09-04
    • 1970-01-01
    • 2015-08-02
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多