java - 仅打印 (n*n) 数组的非边界和角元素

标签 java

我要编写一个程序,仅打印 (n*n) 数组的非边界和角元素,用于我的作业,这是代码的主要部分: enter image description here

我得到的输出是这样的: enter image description here

正如您所看到的,非边界元素(6,7,10,11)没有处于正确的位置,我相信这是因为循环内制表符空格的打印不正确。 (我的代码完全是一团糟)我想要一些帮助或建议来解决这个问题。谢谢!

最佳答案

我通常发现扁平化事物(特别是 if 条件)并将条件放入 boolean 返回方法中会有所帮助。尝试类似的事情

for (int i = 0; i < n; i++) {
  for (int j = 0; j < n; j++ {
    if (isCorner(i,j,n) || !isEdge(i,j,n)) {
//...
    } else {
//...
    }
  }
  System.out.println();
}

其中 isCorner(i,j,n)isEdge(i,j,n) 的定义类似于

public boolean isCorner(int row, int column, int gridSize) {
//...
}

关于java - 仅打印 (n*n) 数组的非边界和角元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57991336/

相关文章:

java - 无法使 tesseract 在 Centos7 上运行

java - 复合模式的定义

java - Android-使用 Android Studio 导入外部库

java - 了解代码特定的功能概念

java - 如何解决此错误 : cannot find symbol class DragAdapter

java - WAR 文件中的镜像

Java for 循环继续

java - 为什么 'table'中的成员字段 'java.util.HashMap'是 transient 的?

java - token "return"出现语法错误,类型无效?

Java 错误 - .charAt() 返回数字字符串中的两个字符