Java图形界面中平均分的求法_java用户图形界面模拟裁判评分
时间: 2024-02-17 08:04:51 浏览: 78
要实现 Java 图形界面中的平均分求法,可以按照以下步骤进行:
1. 创建一个包含所有评分的数组。
2. 添加一个求平均分的方法,该方法使用数组中的评分计算平均值。
3. 在图形界面中添加一个输入框,用户可以在该输入框中输入评分。
4. 添加一个“添加评分”按钮,当用户点击该按钮时,将输入框中的评分添加到评分数组中。
5. 在图形界面中添加一个标签,用于显示当前平均分。
6. 在添加评分后,调用求平均分的方法,并将结果显示在标签中。
下面是一个简单的示例代码,演示了如何实现这个功能:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ScoreCalculator extends JFrame implements ActionListener {
private JTextField scoreField;
private JButton addButton;
private JLabel averageLabel;
private double[] scores = new double[0];
public ScoreCalculator() {
setSize(300, 200);
setTitle("Score Calculator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
scoreField = new JTextField(10);
addButton = new JButton("Add Score");
averageLabel = new JLabel("Average: N/A");
addButton.addActionListener(this);
JPanel panel = new JPanel();
panel.add(scoreField);
panel.add(addButton);
panel.add(averageLabel);
add(panel);
setVisible(true);
}
private double calculateAverage() {
double sum = 0;
for (double score : scores) {
sum += score;
}
return sum / scores.length;
}
@Override
public void actionPerformed(ActionEvent e) {
try {
double score = Double.parseDouble(scoreField.getText());
double[] newScores = new double[scores.length + 1];
System.arraycopy(scores, 0, newScores, 0, scores.length);
newScores[scores.length] = score;
scores = newScores;
double average = calculateAverage();
averageLabel.setText("Average: " + average);
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "Invalid score!");
}
}
public static void main(String[] args) {
new ScoreCalculator();
}
}
```
在这个示例代码中,我们创建了一个 `ScoreCalculator` 类,继承自 `JFrame`,实现了 `ActionListener` 接口。在构造函数中,我们创建了一个包含输入框、按钮和标签的面板,并将其添加到窗口中。
在 `actionPerformed` 方法中,我们首先尝试将用户输入的评分转换为一个 `double` 类型的数值,如果转换失败,则弹出一个错误提示框。否则,我们将新评分添加到评分数组中,并重新计算平均分,然后更新标签中的内容。
最后,在 `main` 方法中,我们创建了一个 `ScoreCalculator` 实例,启动了整个应用程序。
阅读全文