java 请编写程序,居中打印输出你最喜欢的一首古诗。
时间: 2024-09-17 14:04:16 浏览: 179
当然可以。在Java中,我们可以使用`System.out.println()`函数来打印古诗,并利用字符串的`center`方法或手动计算空格来实现居中对齐。这里以杜牧的《秋夕》为例:
```java
public class Main {
public static void main(String[] args) {
String poem = "银烛秋光冷画屏,轻罗小扇扑流萤。\n"
+ "天阶夜色凉如水,卧看牵牛织女星。";
// 居中打印,假设每行宽度为80字符
int maxWidth = 80;
int leftPadding = (maxWidth - poem.length()) / 2;
for (String line : poem.split("\n")) {
System.out.printf("%" + leftPadding + "s%n", line);
}
}
}
```
这个程序会把这首诗均匀地分布在80个字符宽的空间内,如果诗句过长,则超出部分会被省略。
相关问题
idea 请编写程序,居中打印输出你最喜欢的一首 古诗。
在IntelliJ IDEA中,你可以创建一个简单的Java程序来居中打印输出一首古诗。这里我们以《静夜思》为例:
```java
public class Main {
public static void main(String[] args) {
String poem = "床前明月光,疑是地上霜。\n" +
"举头望明月,低头思故乡。";
// 居中打印
int maxLineLength = poem.replaceAll("\\n", "").length();
System.out.println("+" + Strings.repeat("-", maxLineLength * 2 + 2) + "+");
System.out.println("|" + poem.replace("\n", "\n|").replaceAll("\\s+", "") + "|");
System.out.println("+" + Strings.repeat("-", maxLineLength * 2 + 2) + "+");
}
}
// 使用StringBuilder替换原生字符串连接可以避免性能影响
private static String Strings.repeat(String str, int times) {
return new StringBuilder(times).append(str).toString();
}
```
这个程序首先计算出最长行的长度,然后用加号和破折号创建一个对齐的框,再将古诗插入到框中间。运行此程序,你会看到《静夜思》以居中方式显示在控制台上。
请你用Java编写以上程序代码
好的,以下是使用Java编写的代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MultiplicationAndDivision extends JFrame implements ActionListener {
private JLabel num1Label, num2Label, resultLabel;
private JTextField num1Field, num2Field, resultField;
private JButton multiplyBtn, divideBtn;
public MultiplicationAndDivision() {
super("乘除运算");
setLayout(new GridLayout(4, 2, 10, 10)); // 设置布局
// 添加标签和输入框
num1Label = new JLabel("第一个数:");
add(num1Label);
num1Field = new JTextField(10);
add(num1Field);
num2Label = new JLabel("第二个数:");
add(num2Label);
num2Field = new JTextField(10);
add(num2Field);
// 添加乘法和除法按钮
multiplyBtn = new JButton("乘法");
multiplyBtn.addActionListener(this);
add(multiplyBtn);
divideBtn = new JButton("除法");
divideBtn.addActionListener(this);
add(divideBtn);
// 添加结果标签和输入框
resultLabel = new JLabel("结果:");
add(resultLabel);
resultField = new JTextField(10);
resultField.setEditable(false);
add(resultField);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出程序
setSize(300, 200);
setLocationRelativeTo(null); // 设置窗口居中显示
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == multiplyBtn) {
try {
int num1 = Integer.parseInt(num1Field.getText());
int num2 = Integer.parseInt(num2Field.getText());
resultField.setText(String.valueOf(num1 * num2));
} catch (NumberFormatException ex) {
resultField.setText("异常提示:请输入整数!");
}
} else if (e.getSource() == divideBtn) {
try {
int num1 = Integer.parseInt(num1Field.getText());
int num2 = Integer.parseInt(num2Field.getText());
if (num2 == 0) {
resultField.setText("异常提示:除数不能为0!");
} else {
resultField.setText(String.valueOf(num1 / num2));
}
} catch (NumberFormatException ex) {
resultField.setText("异常提示:请输入整数!");
}
}
}
public static void main(String[] args) {
new MultiplicationAndDivision();
}
}
```
这段代码使用了Java Swing库中的JFrame、JLabel、JTextField、JButton等组件,实现了窗口的创建、标签和输入框的添加、按钮的添加和事件绑定、异常处理等功能。在按钮的事件处理方法中,我们使用try-catch方法来捕获可能出现的异常,如输入的不是整数或除数为0等情况,在出现异常时,会给出相应的错误提示。
阅读全文