编写应用程序,实现一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。窗口距离屏幕左边100像素,距离屏幕上边100像素,在窗口中添加一个文本框(长度为20,字体为宋体加粗,字号为16),一个按钮(按钮中显示文字“计算”,字体为宋体加粗,字号为16),一个文本区(面积为5*50,字体为宋体加粗,字号为16),当用户在文本框中输入用空格分隔的若干个数后,点击“计算”,文本区对输入的数进行求和运算并求出平均值,显示:数字之和为xx,平均值为xx。文本区的结果随着用户在文本框输入的数字的变化而变化。效果如下图所示:
时间: 2024-02-21 20:59:33 浏览: 27
好的,以下是符合您要求的Java代码:
```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField inputField; // 输入框
private JTextArea resultArea; // 结果区
private JButton calculateButton; // 计算按钮
private int sum; // 数字之和
private int count; // 数字个数
public Calculator() {
super("计算"); // 设置窗口标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(100, 100); // 设置窗口位置
setLayout(new FlowLayout()); // 设置布局
inputField = new JTextField(20); // 创建输入框
inputField.setFont(new Font("宋体", Font.BOLD, 16)); // 设置字体
add(inputField); // 添加到窗口中
calculateButton = new JButton("计算"); // 创建计算按钮
calculateButton.addActionListener(this); // 监听点击事件
calculateButton.setFont(new Font("宋体", Font.BOLD, 16)); // 设置字体
add(calculateButton); // 添加到窗口中
resultArea = new JTextArea(5, 50); // 创建结果区
resultArea.setFont(new Font("宋体", Font.BOLD, 16)); // 设置字体
resultArea.setEditable(false); // 设置为只读
add(new JScrollPane(resultArea)); // 添加到窗口中
pack(); // 自动调整窗口大小
setVisible(true); // 显示窗口
}
public void actionPerformed(ActionEvent e) {
String input = inputField.getText(); // 获取输入框中的内容
String[] nums = input.split(" "); // 按空格分隔成若干个数
sum = 0; // 数字之和清零
count = 0; // 数字个数清零
for (String num : nums) {
if (num.matches("\\d+")) { // 判断是否为数字
sum += Integer.parseInt(num); // 将数字累加到数字之和中
count++; // 数字个数加1
}
}
if (count > 0) { // 如果有数字
double average = (double) sum / count; // 计算平均值
resultArea.setText("数字之和为" + sum + ",平均值为" + average); // 显示结果
} else {
resultArea.setText("请输入若干个数字"); // 提示用户输入数字
}
}
public static void main(String[] args) {
new Calculator(); // 创建计算器窗口
}
}
```
希望这份代码能够满足您的要求,如果有任何问题或需求,请随时告诉我。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)