Ⅰ 隨機點名系統 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);