用于打印星号方形框的java数组
我试图用https://stackoverflow.com/a/34209565答案在边框周围写一个正方形的星号
但我根本无法让它工作
这是我正在尝试的代码
int _i = 10;
int _j = 10;
String[][] array = new String[_i][_j];
for (int i = 0; i < _i; i++) {
System.out.println();
for (int j = 0; j < _j; j++) {
if(i==0 || j == 0 || i == _i - 1|| j == _j - 1){
array[i][j] = "*";
System.out.print(array[i][j]);
}
}
}
我得到的结果是:
**********
**
**
**
**
**
**
**
**
**********
我试着运行答案中的代码,但它会产生一行星号。答案中代码中的某些内容被省略了
答案中的代码是:
int _i = 10;
int _j = 10;
String[][] array = new String[_i][_j];
for (int i = 0; i < _i; i++) {
for (int j = 0; j < _j; j++) {
if(i==0 || j == 0 || i == _i-1|| j == _j-1){
array[i][j] = "*";
}
}
}
答案中的输出是:
**********
* *
* *
* *
* *
* *
* *
* *
* *
**********
# 1 楼答案
当条目不是星形时,需要使用
else
来打印空格。此外,我会将println()
移动到循环的末尾(而不是开始)。假设您实际上也希望填充array
,那么也用一个空格填充它。像输出
# 2 楼答案
您可以使用^{} 方法,这样代码就不那么冗长了,还可以将生成包含在一个方法中。您可以通过设置两个参数使其成为动态的:行数和列数:
结果: