当前位置: 首页 > 知识库问答 >
问题:

使2D阵列更少Java

周学义
2023-03-14

我有一个带有二维数组的Java代码,我想重写这段代码,看起来它的代码比我以前写的要少。

我的代码的主要任务是在1中包含立方体。

有没有办法解决这个问题?

我的数据:

2 0 0 1 1 0 0 0
0 0 1 0 0 1 0 0
0 0 0 0 0 0 0 0
1 0 1 0 0 1 0 1
1 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
0 0 1 0 0 1 0 0
0 0 0 1 1 0 0 0

我的代码:

 for(int i = 0; i < map.length; i++) {
            for(int j = 0; j < map.length; j++) {
                if(map[i][j] == map[0][3]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[0][4]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[1][2]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[1][5]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[3][0]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[3][2]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[3][5]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[3][7]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[4][7]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[6][2]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[6][5]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[7][3]) {
                    gc.fillRect(i, j, 1, 1);
                }
                if(map[i][j] == map[7][4]) {
                    gc.fillRect(i, j, 1, 1);
                }
    
              
            }
        }

共有1个答案

谷森
2023-03-14

您正在将地图中的每个字段与地图中等于1的每个字段进行编译。因此,您可以只检查一个字段的值是否为1:

    for (int i = 0; i < map.length; i++) {
        for (int j = 0; j < map[0].length; j++) {
            if (map[i][j] == 1) {
                gc.fillRect(i, j, 1, 1);
            }
        }
    }
 类似资料:
  • 问题内容: 我有一个像这样的3D矩阵 并希望将它们以网格格式堆叠,最后得到 有没有一种方法,而无需明确地对其进行hstacking(和/或vstacking)或添加额外的维度并重塑(不确定这样做是否可行)? 谢谢, 问题答案: In [27]: x = np.arange(16).reshape((4,2,2)) 我在这里发布了用于将数组重塑/取消塑形的更多常规功能。

  • 问题内容: 我正在自学一些Java,并且坚持创建2D数组,该数组使用随机值对其进行初始化,然后创建该数组的转置。 示例输出为: 原始矩阵 转置矩阵 ^应该是最终输出。代码的一些帮助将不胜感激! 如果行或列的数量超出指定范围,我想编写代码以生成错误消息。以及是否从命令行读取矩阵元素而不是随机生成它们。 问题答案: 这是返回转置矩阵的int [] []的简单方法… 比起打印二维矩阵,您可以使用如下方法

  • 问题内容: 我想在Go中排序一个二维数组。谁能建议我该怎么做? 例如,如果我有, 然后有类似的东西, 问题答案: 您必须定义自己如何对这种类型进行排序。您可以创建必要的方法来使用该 接口,并根据需要使用指针来更改数组值: https //play.golang.org/p/thdf-k2k3o 或使用该 函数,转换 为切片并提供适当的较少函数: https //play.golang.org/p/

  • 问题内容: 我有一个二维的numpy数组看起来像 我想在上面显示的1上方创建像蒙版这样的边界框。例如,它应该看起来像这样 我如何轻松做到这一点?另外,如果存在其他编号(例如2,3等),但我想忽略它们,而该组主要是2,该怎么办。 问题答案: 在组件标签方面,我们必须让生活变得轻松。我们可以用来标记数组中的不同组件,并获得相应的切片,在这种情况下,可以使用它们来将值设置为: 如果我们尝试提出的示例:

  • 这是我第一次使用 GUI。我似乎无法用它来操纵我的头脑。我觉得答案很简单(我对此感到抱歉),但我只是无法把它记进我的脑海里。:/ 我有一个2D JLabel数组,每个数组都设置为一个默认的板ImageCon。我在每列上方都有指定列号的按钮。在actionPerformed方法中,我为每个按钮设置了以下内容: 我不知道如何将令牌添加到指定令牌的最低行,我想在我找到设置为ImageIcon p0的最低

  • 给定一个2维正整数数组,求和最大的HxW子矩形。矩形的总和是该矩形中所有元素的总和。 输入:具有正元素的二维数组NxN子矩形的HxW大小 输出:HxW大小的子矩阵,其元素的总和最大。 我已经使用蛮力方法解决了这个问题,但是,我现在正在寻找一个具有更好复杂性的更好的解决方案(我的蛮力法的复杂性是O(n6))。