java - 仅打印 (n*n) 数组的 NON-BOUNDARY 和 CORNER 元素
问题描述
我要为我的作业编写一个仅打印 (n*n) 数组的非边界和角元素的程序,这是代码的主要部分:
如您所见,非边界元素(6、7、10、11)不在其正确位置,我认为这是因为循环中的制表符空格打印不正确。(我的代码完全是一团糟)我想要一些帮助或建议来解决这个问题。谢谢!
解决方案
我通常发现扁平化事物(特别是 if 条件),并将条件放入布尔返回方法中会有所帮助。尝试类似的东西
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) {
//...
}
推荐阅读
- android - 当应用程序在后台或被杀死时,我如何使用套接字?
- bash - 有没有办法使用 shell (esp Bash) 条件来检查确切的文件模式,如 [[ -mode 0755 ]]
- javascript - 如何使用事件侦听器向对象数组添加新元素并将其显示在 html 页面上(编辑代码)
- mysql - 选择两个字段之间的整数记录
- reactjs - React Native Algolia 即时搜索和搜索框
- node.js - 将 NodeJS 集群包与 Kubernetes 一起使用是否有意义?
- computer-vision - 如何从图像中提取对象的大小
- javascript - 尝试使用 Lodash Angular 6 进行排序时出现错误
- php - 如何通过 PHP 查询脚本更改 phpMyAdmin 根密码
- testing - 无法在 TestCafe 中使用 PageObjects 从 .before 打开 Url (.navigateTo)