我有一个带有2d数组的Java代码,我想重写这段代码,使其看起来比我以前写的代码更少.

我的代码的主要任务是在1中包含多维数据集.

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

My Data:

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

My Code:

 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);
                }
    
              
            }
        }

推荐答案

将 map 中的每个字段与 map 中等于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);
            }
        }
    }

Java相关问答推荐

如何在Java中声明未使用的变量?

关于泛型的覆盖规则

扩展到弹出窗口宽度的JavaFX文本字段

为什么一个Test的instance?& gt;在构造函数中接受非空对象?

只需最少的代码更改即可将版本号标记添加到日志(log)

Java LocalTime.parse在本地PC上的Spring Boot中工作,但在Docker容器中不工作

使用Spring Boot3.2和虚拟线程的并行服务调用

Java连接池无法正常工作

使用存储在字符串变量中的路径目录打开.pdf文件

try 在Android Studio中的infoWindow中使用EditText(Java)

删除打印语句会影响功能...腐败在起作用?

带有可选部分的Java DateTimeForMatter

在Eclipse中可以使用外部字体吗?

不能在 map 上移除折线

活泼的一次判断成语,结果中等

使用Java线程进行并行编程

Java 21保护模式的穷尽性

如何在java中从以百分比表示的经过时间和结束日期中找到开始日期

类型安全:从 JSONArray 到 ArrayList> 的未经判断的转换

在 Java Spring Boot 中注入而不是实例化抽象类