用java写一首诗并居中
时间: 2024-09-11 17:11:00 浏览: 51
在Java中编写一个程序来生成并居中显示一首诗,可以通过创建一个包含诗内容的字符串,然后使用`System.out.printf`方法来实现居中。下面是一个简单的例子:
```java
public class CenteredPoem {
public static void main(String[] args) {
String poem =
"静夜思\n" +
"床前明月光,\n" +
"疑是地上霜。\n" +
"举头望明月,\n" +
"低头思故乡。";
int poemWidth = 20; // 每行的宽度,可以根据诗的长度进行调整
System.out.println(centerString(poem, poemWidth));
}
public static String centerString(String str, int width) {
if (str == null || width <= 0) {
throw new IllegalArgumentException("参数不合法");
}
int leftPadding = (width - str.length()) / 2;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < leftPadding; i++) {
sb.append(' ');
}
sb.append(str);
int rightPadding = width - sb.length();
for (int i = 0; i < rightPadding; i++) {
sb.append(' ');
}
return sb.toString();
}
}
```
这段代码会输出如下居中的诗:
```
静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
```
注意,为了方便阅读,我将每个字符占位进行了换行表示,实际上在运行程序时它们会是连在一起的。
阅读全文