用输入的数字创建一个星星广场
Create a Square of stars with an inputed number
我需要一个代码来帮助我打印一个带有整数输入的星形正方形(在本例中,数字是 5)
正方形内部必须是空的。
例如:
寻找这个输出
* * * * *
* *
* *
* *
* * * * *
我得到了什么
* * * *
*
*
*
* * * *
我错过了广场的右侧。
我的代码:
System.out.print("Please enter a number: ");
side = input.nextInt();
for (int i = 0; i < side - 1; i++) {
System.out.print("* ");
}
for (int i = 0; i < side; i++) {
System.out.println("*");
}
for (int i = 0; i < side; i++) {
System.out.print("* ");
}
}
输入
5
输出
* * * *
*
*
*
* * * *
你需要在中间for循环的末尾添加一个额外的星号。这可以通过嵌套第二个 for 空格循环然后打印星号来完成。
for (int i = 0; i < side; i++) {
System.out.print("*");
for (int j = 0; j < side; j++) {
System.out.print(" ");
}
System.out.println("*");
}
您可以使用嵌套的 for 循环执行此操作。
for (int i = 0; i < side; i++) {
for (int j = 0; j < side; j++) {
if (i == 0 || i == side - 1 || j == 0 || j == side - 1) {
System.out.print("* ");
} else {
System.out.print(" ");
}
}
System.out.println();
}
如果它是第一个 row/column 或最后一个 row/column,则打印一个 *
;否则打印两个空格。
可以使用复杂度为 O(n)
的单个 For 循环来完成
public static void main(String[] args) {
System.out.print("Please Enter a Number ");
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
if(number >= 3) {
String endPattern = new String(new char[number]).replace("[=10=]", " *");
String midPattern = String.format("%-"+(number-2)*2+"s %s", " *"," *");
for(int i=1; i<= number; i++) {
if(i==1 || i==number) {
System.out.print(endPattern);
}
else {
System.out.print(midPattern);
}
System.out.println();
}
}
}
输出(对于输入 3)
Please Enter a Number 3
* * *
* *
* * *
输出(对于输入 7)
Please Enter a Number 7
* * * * * * *
* *
* *
* *
* *
* *
* * * * * * *
我需要一个代码来帮助我打印一个带有整数输入的星形正方形(在本例中,数字是 5) 正方形内部必须是空的。
例如:
寻找这个输出
* * * * *
* *
* *
* *
* * * * *
我得到了什么
* * * *
*
*
*
* * * *
我错过了广场的右侧。
我的代码:
System.out.print("Please enter a number: ");
side = input.nextInt();
for (int i = 0; i < side - 1; i++) {
System.out.print("* ");
}
for (int i = 0; i < side; i++) {
System.out.println("*");
}
for (int i = 0; i < side; i++) {
System.out.print("* ");
}
}
输入
5
输出
* * * *
*
*
*
* * * *
你需要在中间for循环的末尾添加一个额外的星号。这可以通过嵌套第二个 for 空格循环然后打印星号来完成。
for (int i = 0; i < side; i++) {
System.out.print("*");
for (int j = 0; j < side; j++) {
System.out.print(" ");
}
System.out.println("*");
}
您可以使用嵌套的 for 循环执行此操作。
for (int i = 0; i < side; i++) {
for (int j = 0; j < side; j++) {
if (i == 0 || i == side - 1 || j == 0 || j == side - 1) {
System.out.print("* ");
} else {
System.out.print(" ");
}
}
System.out.println();
}
如果它是第一个 row/column 或最后一个 row/column,则打印一个 *
;否则打印两个空格。
可以使用复杂度为 O(n)
的单个 For 循环来完成public static void main(String[] args) {
System.out.print("Please Enter a Number ");
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
if(number >= 3) {
String endPattern = new String(new char[number]).replace("[=10=]", " *");
String midPattern = String.format("%-"+(number-2)*2+"s %s", " *"," *");
for(int i=1; i<= number; i++) {
if(i==1 || i==number) {
System.out.print(endPattern);
}
else {
System.out.print(midPattern);
}
System.out.println();
}
}
}
输出(对于输入 3)
Please Enter a Number 3
* * *
* *
* * *
输出(对于输入 7)
Please Enter a Number 7
* * * * * * *
* *
* *
* *
* *
* *
* * * * * * *