使用for循环语句,不要直接用System.out.println简单输出,在屏幕的正中间(上下居中、左右居中、7行7列,)输出图案如下: ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ ☆ ☆ ☆ ☆ ☆☆☆☆☆☆☆
时间: 2024-10-16 13:17:32 浏览: 28
为了在控制台的正中间输出给定的图案,你可以使用Java的`System.out.print()`和`String.format()`函数配合制表符`\t`实现对齐。下面是一个示例代码片段:
```java
public class Main {
public static void main(String[] args) {
int rows = 7;
for (int i = 0; i <= rows; i++) {
// 上下居中计算
int leftSpace = (rows - i) * 2;
// 输出每一行
if (i == 0 || i == rows) { // 对角线部分
String pattern = String.join("", repeat("☆", rows * 2 + 1)); // 创建一行星号
System.out.format("%s%n", pattern.substring(leftSpace, leftSpace + rows * 2));
} else if (i % 2 == 0) { // 奇数行,除了对角线和中心行
String pattern = repeat("☆", rows);
System.out.format("%s%n", pattern.substring(0, leftSpace) + " " + pattern + " " + pattern.substring(leftSpace));
} else { // 偶数行,包括中心行
String pattern = repeat(" ", leftSpace / 2) + " " + "☆" + " " + repeat(" ", leftSpace / 2);
System.out.println(pattern);
}
}
}
// 辅助方法,用于重复字符串n次
private static String repeat(String str, int times) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < times; i++) {
sb.append(str);
}
return sb.toString();
}
}
```
运行这段代码会得到你想要的7行7列图案,星星在中间位置上下左右居中显示。
阅读全文