java随机点名程序
时间: 2023-07-26 12:02:50 浏览: 125
Java随机点名程序可以通过使用Random类和数组来实现。下面是一个示例:
```java
import java.util.Random;
public class RandomNameGenerator {
public static void main(String[] args) {
String[] names = {"张三", "李四", "王五", "赵六", "陈七", "刘八"}; // 姓名列表
Random rand = new Random();
int index = rand.nextInt(names.length); // 生成随机索引
String randomName = names[index]; // 根据索引选择姓名
System.out.println("被点到名的同学是:" + randomName);
}
}
```
代码解释:
1. 首先定义了一个包含姓名的数组。
2. 创建Random对象用于生成随机数。
3. 使用nextInt()方法生成0到数组长度之间的随机整数。此随机整数作为数组的索引。
4. 根据随机索引选择对应的姓名。
5. 最后打印出被点到名的同学的姓名。
这段程序可以重复运行多次,每次生成一个不同的随机姓名。
相关问题
java随机点名程序代码
以下是一个简单的Java随机点名程序代码:
```java
import java.util.*;
public class RandomNamePicker {
public static void main(String[] args) {
String[] names = {"Alice", "Bob", "Charlie", "David", "Emma", "Frank", "Grace", "Henry", "Ivy", "Jack"};
Random random = new Random();
int index = random.nextInt(names.length);
System.out.println("The chosen name is: " + names[index]);
}
}
```
java随机点名程序。点击按钮,静态文本区域“学号+姓名”开始滚动,按钮上的文字变为“停止”,点击停止,停止滚动,同时按钮上的文字变为“点击开始随机滚动”。
以下是一个简单的 Java 随机点名程序的实现,使用了Swing界面库:
```java
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
public class RandomNamePicker {
private JFrame frame;
private JLabel label;
private JButton button;
private Thread thread;
private volatile boolean running;
public RandomNamePicker() {
initialize();
}
private void initialize() {
frame = new JFrame("随机点名程序");
frame.setBounds(100, 100, 400, 100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.CENTER);
label = new JLabel("", SwingConstants.CENTER);
panel.add(label);
button = new JButton("开始随机点名");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (running) {
stopRolling();
} else {
startRolling();
}
}
});
panel.add(button);
}
private void startRolling() {
running = true;
button.setText("停止");
List<String> names = new ArrayList<String>();
names.add("001 张三");
names.add("002 李四");
names.add("003 王五");
names.add("004 赵六");
Random random = new Random();
thread = new Thread(new Runnable() {
public void run() {
while (running) {
label.setText(names.get(random.nextInt(names.size())));
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// ignore
}
}
}
});
thread.start();
}
private void stopRolling() {
running = false;
button.setText("点击开始随机点名");
}
public void show() {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public static void main(String[] args) {
RandomNamePicker picker = new RandomNamePicker();
picker.show();
}
}
```
程序创建了一个 JFrame 窗口,包含一个静态文本区域和一个按钮。当用户点击按钮时,程序会开始滚动学生名单,直到用户再次点击按钮停止滚动。
注意,程序中使用了一个 volatile 的 boolean 变量 running,用于控制滚动线程的状态。在 startRolling 方法中,程序会创建一个新的线程,不断更新 label 的文本内容,直到 running 变量被设置为 false。在 stopRolling 方法中,程序会将 running 变量设置为 false,从而停止滚动线程。
阅读全文