java - 如何使用 2D 阵列打印 5x5 房间网格?
问题描述
我需要创建一个 5X5 的房间网格,它有 5 行和 5 列和一个 2d 数组。
我在 toString 中创建了方形房间,但每次我尝试使用嵌套的 for 循环打印它时,我都会得到房间的垂直显示。
public String toString() {
if(roomNumberX ==0 && roomNumberY==0) {
return"* * *\n* "+item+" |"+"\n* - *";
} else if(roomNumberX==4 && roomNumberY==0) {
return "* * * "+"\n| "+item+" *"+"\n* - *";
} else if(roomNumberX==4 && roomNumberY==4) {
return "* - * \n| " +item+" *"+"\n* * *";
} else if(roomNumberX==0 && roomNumberY==4) {
return "* - *"+"\n* "+item+" |"+"\n* * *";
} else if(roomNumberX==0 && roomNumberY !=0 || roomNumberY !=4) {
return "* - *"+"\n* "+item+" |"+"\n* - *";
} else if(roomNumberX==4 && roomNumberY !=0 || roomNumberY !=4) {
return "* - *"+"\n| "+item+ " *"+" \n* - *";
} else if(roomNumberY==0 && roomNumberX != 0 && roomNumberX !=4) {
return "* * *"+"\n| "+item+" |"+"\n* - *";
} else if(roomNumberY==4 && roomNumberX !=0 && roomNumberX != 4) {
return "* - *"+"\n| "+item+" |"+"\n* * *";
}
return "* - *\n| "+item+" |\n* - *";
}
下面是我对嵌套 for 循环的尝试
public void lookAtMap() {
for(int i=0; i<room.length; i++) {
for(int x=0; x<room[i].length;x++) {
System.out.print(room[i][x]);
}
}
}
输出
* - ** - *
* P |
* - ** - *
| P |
* * *
* * *
| P *
* - ** - *
解决方案
推荐阅读
- android - 从 PagingData Flow 中获取单个项目
- google-contacts-api - “自定义搜索 JSON API”每次查询的费用为 5 美元。什么是查询?
- c# - 如何在不循环整个列表的情况下将“未找到”添加到此搜索中?C#
- amazon-web-services - 当我没有使用 Docker 的 Js 时,为什么 s3fs 显示“无效选项 -- 'j'”?
- matlab - 适用于任何基础的 Matlab/Octave bitget 函数
- perl - 从标准输入一次读取两行的惯用方式
- excel - 我遇到了一个奇怪的问题,将带有 vlookup 的公式输入到带有 VBA 的单元格中
- c# - 通过 EF6 将数据绑定到 WPF 数据网格并且已经在运行 SQL Server 数据库
- angular - 如何将给定的指令值应用于 Angular Material 中的多个标签?
- sql - 在 PostgreSQL 中将相似的连续事件分组在一起