Java中如何在一个文本区中输入若干个数值时,另一个文本区对输入的数值进行求和并求出平均值
时间: 2024-10-11 21:12:06 浏览: 36
在Java Swing编程中,你可以使用`JTextField`处理用户输入,并通过`DocumentListener`监听文本框内容的变化。以下是一个简单的示例:
1. 创建两个`JTextField`实例,如`txtInputNumbers`用于输入数值,`txtSumAndAverage`用于显示总和和平均值。
```java
JTextField txtInputNumbers = new JTextField(10);
JTextField txtSumAndAverage = new JTextField("0.0", 10); // 初始显示为0.0
```
2. 添加`DocumentListener`到第一个文本框,当输入内容改变时计算总和和平均值:
```java
txtInputNumbers.getDocument().addDocumentListener(new DocumentAdapter() {
@Override
protected void textValueChanged(DocumentEvent e) {
try {
double total = 0;
int count = 0;
String inputText = txtInputNumbers.getText();
String[] numbers = inputText.split(",");
for (String num : numbers) {
total += Double.parseDouble(num.trim());
count++;
}
double average = total / count;
txtSumAndAverage.setText(String.format("%.2f (Total: %.2f, Average: %.2f)", average, total, average));
} catch (NumberFormatException ex) {
// 如果输入不是数字,清除并提示错误
txtSumAndAverage.setText("");
JOptionPane.showMessageDialog(null, "请输入有效的数值");
}
}
});
```
在这个例子中,我们假设用户输入的是逗号分隔的数值。如果用户直接在文本框里输入数字,然后按下回车键,`textValueChanged`会被触发,计算总和和平均值并将结果显示在第二个文本框中。
阅读全文