java - Java中的多个重叠正方形
问题描述
我们如何使用Java中的单一方法制作具有相同左上角的多个重叠正方形(不同长度)?
例如,如果函数的参数是 5、7,则输出应如下所示:
#######
# # #
# # #
# # #
##### #
# #
#######
如果参数为 2、4、6,则输出应如下所示:
######
## # #
# # #
#### #
# #
######
我能够分别绘制单个正方形和多个正方形,但面临这个问题。
谢谢。
解决方案
- 为最大的正方形创建一个二维布尔数组。
- 对于此数组中的每个方形标记,应填充的单元格。
- 打印二维数组。
对于参数 5 和 7,它将是这样的:
boolean[][] arr = new boolean[7][7];
for(int i = 0; i < 7; i++){
for(int j = 0; j < 7; j++){
if(i == 0 || j == 0 || i == 6 || j == 6){
arr[i][j] = true;
}
}
}
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
if(i == 0 || j == 0 || i == 4 || j == 4){
arr[i][j] = true;
}
}
}
for(int i = 0; i < 7; i++){
for(int j = 0; j < 7; j++){
if(arr[i][j]){
System.out.print("#");
}
else{
System.out.print(" ");
}
}
System.out.println();
}
推荐阅读
- tsql - SQL找出增加序列的减少
- java - 如何从 Java 中的字符串中删除非 ASCII 字符(AltCodes)
- python - 如何使用类似请求 python 的 selenium 获取带参数的 URL
- python - Python 3:time.perf_counter() 输出与 Coursera 上的程序处理时间不匹配
- python - Python speech_recognition 不理解我并返回 UnknwonValueError
- docker - 将环境变量传递给数据属性
- visual-studio - 使用 Visual Studios 2019 导致 100% 磁盘使用率
- laravel - Where do I add custom verification for user registration
- webmin - Virtualmin / Webmin - 如何禁用 Virtualmin 覆盖图标文件夹?
- swift - 合并 - 订阅者在第二次订阅时被静默取消