java点名系统
时间: 2023-08-18 20:05:02 浏览: 52
Java点名系统可以用来随机点名学生,可以使用Java的GUI界面来实现。以下是一个简单的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class RollCallSystem extends JFrame implements ActionListener {
private JButton button = new JButton("点名");
private JLabel label = new JLabel("请点击'点名'按钮进行点名");
private String[] students = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"};
private ArrayList<String> list = new ArrayList<>(Arrays.asList(students));
public RollCallSystem() {
setTitle("Java点名系统");
setLayout(new BorderLayout());
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.add(button);
button.addActionListener(this);
add(panel, BorderLayout.NORTH);
add(label, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button) {
if (list.isEmpty()) {
label.setText("所有学生已被点名");
} else {
int randomIndex = new Random().nextInt(list.size());
String student = list.remove(randomIndex);
label.setText("被点名的学生是:" + student);
}
}
}
public static void main(String[] args) {
RollCallSystem rollCallSystem = new RollCallSystem();
rollCallSystem.setVisible(true);
}
}
```
上述代码中,我们定义了一个`RollCallSystem`类,继承自`JFrame`类,并实现了`ActionListener`接口。在`RollCallSystem`类中,我们定义了一个“点名”按钮`button`和一个标签`label`,用来显示被点名的学生。我们还定义了一个学生名字数组`students`和一个学生名字列表`list`,用来存储还未被点名的学生名字。
在`RollCallSystem`类的构造方法中,我们设置了窗口的标题、大小、关闭操作,并使用`BorderLayout`布局管理器来布局窗口中的组件。我们将“点名”按钮添加到窗口的北部,并为按钮添加了一个事件监听器。我们将标签添加到窗口的中央。
在`actionPerformed`方法中,我们判断事件源是否为“点名”按钮。如果是,“点名”按钮被点击,我们首先判断学生名字列表`list`是否为空。如果为空,说明所有学生都已被点名,我们将标签文本设置为“所有学生已被点名”。如果不为空,我们使用`Random`类生成一个随机数,用来随机选择学生名字列表`list`中的一个学生名字。然后,我们从列表中移除该学生名字,并将标签文本设置为“被点名的学生是:学生名字”。
最后,在`main`方法中,我们创建了一个`RollCallSystem`对象,并将其设置为可见。运行程序后,我们可以点击“点名”按钮进行点名。每次点击按钮后,程序会随机选择一个还未被点名的学生,并将其名字显示在标签中。当所有学生都被点名后,点击“点名”按钮将显示“所有学生已被点名”。