Ⅰ 随机点名系统 java

import java.awt.Font;
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.JOptionPane;

public class test_random extends JFrame implements ActionListener{
public static void main(String[] args) {
test_random t = new test_random();
t.init();
}
public void init(){
initListDate();

but = new JButton("开始点名");
but.setBounds(100,150,100,40);
but.addActionListener(this);

label = new JLabel("随机点名");
label.setBounds(60,20,300,40);
label.setFont(new Font("楷体",Font.BOLD,40));

show = new JLabel("");
show.setBounds(110,80,200,30);
show.setFont(new Font("楷体",Font.BOLD,30));

reset = new JButton("重新点名");
reset.setBounds(203,246,90,25);
reset.addActionListener(this);

add(but);
add(label);
add(show);
add(reset);
setLayout(null);
setVisible(true);
setResizable(false);
setBounds(100,100,300,300);
setTitle("点名");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void initListDate(){
//在这个地方添加姓名就可以了
list.add("刘天廷");
list.add("孔老二");
list.add("张三");
list.add("李四");
list.add("王五");
list.add("麻六");
list.add("冯七");
list.add("京八");
list.add("茅台九");

}
public void actionPerformed(ActionEvent e) {
/*确保每人选一次*/
Object obj = e.getSource();
if(obj == but){
if(list.size()==0){
JOptionPane.showMessageDialog(null,"没有人了!");
return ;
}else{
Random ran = new Random();
int num = ran.nextInt(list.size());
show.setText(list.get(num));
list.remove(num);
}
}
if(obj == reset){
show.setText("");
initListDate();
}
}
private JButton but ;
private JLabel label;
private JLabel show;
private JButton reset;
private List<String> list = new ArrayList<String>();
}

Ⅱ java点名系统源代码

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class test {

static String[] arr;
static boolean flag=true;
static List<String> a;
static JTextField jtf;
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame=new JFrame();
frame.setLayout(new GridLayout(1,2));
JButton button = new JButton("抽奖");
jtf = new JTextField();
frame.add(jtf);
frame.add(button);
a = new ArrayList<String>();

arr = new String[]{"张三","李四","王五"};
button.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {
int i=0;
fond:
while(true){
String str = arr[(int)(Math.random()*arr.length)];
for(String b:a){
if(b.equals(str)){
if(i>=arr.length){
jtf.setText("没有人了");
break fond;
}
continue fond;
}
i++;
}
a.add(str);
jtf.setText(str);

break;
}
}

});
frame.setSize(500, 500);
frame.setLocation(500, 500);
frame.setVisible(true);

}

}

Ⅲ Java顺序点名

你是想按你指定的顺序来生成名单吗?
老师点名的~ 这是什么?

可以自由设定,实现可以按顺序点名

不知道你想要说什么。。。。。。。。。。。

假如数据库里的表是student,
这个明白。

怎么设置顺序?
怎么点名?

这个你说一下。

Ⅳ 新手求助,用java做一个随机点名器

给你一个思路吧,首先你新建一个List,把所有的人的名字放进去,然后获得List的长度,也就是人的数目,假设是N,在用Math.random随机生成一个1-N的数字,通过这个随机的数字从List当中获取那个人的名字。

Ⅳ Java学生点名代码

我可以给你写这个·

Ⅵ java点名程序,如何增加一个被点名的概率

importjava.util.HashMap;
importjava.util.Map;
importjava.util.Random;

publicclassTest{

//实现思路:给每个key设置一个权重,权重越大被取到的概率越大,
//然后根据权重生成一个连续的大的数据区间,权重越大占用的区间长度越大,
//在这个连续的大区间中取随机数,取到的数落在哪个区间就取出该区间
//对应的key,从而实现了根据权重控制key获取的概率
publicstaticfinalMap<int[],String>INTERVAL=newHashMap<>();
publicstaticintlimit=0;

static{
//权重,表示被选中的机会大小
Map<String,Integer>WEIGHT=newHashMap<>();
WEIGHT.put("a",1);
WEIGHT.put("b",5);
WEIGHT.put("c",10);
WEIGHT.put("d",20);

for(Map.Entry<String,Integer>entry:WEIGHT.entrySet()){
Stringkey=entry.getKey();
intvalue=entry.getValue();
INTERVAL.put(newint[]{limit,limit+value},key);
limit+=value;
}
}

//随机获取一个key
(){
//获取一个指定范围内的随机数
intran=newRandom().nextInt(limit);
for(Map.Entry<int[],String>entry:INTERVAL.entrySet()){
int[]key=entry.getKey();
Stringvalue=entry.getValue();
if(ran>=key[0]&&ran<key[1]){
returnvalue;
}
}
returnnull;
}

publicstaticvoidmain(String[]args){
//随机取WEIGHT中的key,统计每个key被取到的次数
Map<String,Integer>count=newHashMap<>();
for(inti=0;i<1000000;i++){
Stringk=getRandomKey();
if(count.containsKey(k)){
count.put(k,count.get(k)+1);
}else{
count.put(k,1);
}
}
//执行结果可以看出每个key取到的次数和设置的权重所占比例比较接近,
//取得次数越多比例越精确
for(Map.Entry<String,Integer>entry:count.entrySet()){
Stringkey=entry.getKey();
Integervalue=entry.getValue();
System.out.println(key+":"+value);
}
}

}

Ⅶ java随机点名系统

给楼主改了一下
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;

public class RandomClassgui extends WindowAdapter implements ActionListener{
Frame f = new Frame("点名系统");
Button startB;
public void display() {
f.setSize(300,200);
f.setLocation(200,140);
f.setBackground(Color.lightGray);
startB = new Button("开始点名");
startB.addActionListener(this);
f.addWindowListener(this);
f.add(startB);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==startB);
String[] namelist={"小明","小白","小黑","小黄","小兰","小草","小丽","兔子","巫妖","船长","剑圣","冰女"};
int randomNum=(int)(Math.random()*namelist.length);
System.out.println(namelist[randomNum]);
}
public static void main(String args[]){
new RandomClassgui().display();
}
}

其实没有改太多的地方
只是加了一句
f.add(startB);

Ⅷ javaweb写个随机点名的代码

//首先我们可以先把名字搞成一个数组,或者List都是可以的。
String[]arr={"张三","李四","王五","xxx"....};
Stringrandom=arr[newRandom().nextInt(arr.size())];
System.out.println("随机名字为:"+random);