import java.awt.Font;
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比祿勸網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式祿勸網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋祿勸地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
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 ListString list = new ArrayListString();
}
最簡單的一個,你把所有名字存進一個數(shù)組,下面是關鍵代碼
String[] nameList={"張三","李四","王五"......};//名單全部寫上去就可以了
int rdmNum=(int)(Math.random()*nameList.length)//隨即生成0---“總人數(shù)-1”的數(shù)字,正好對應數(shù)組的索引
System.out.println(nameList[ramNum]);//輸出對應的人名
簡單嗎?關鍵代碼我都給寫出來了哦,用小軟件把它生成一個EXE文件就可以用了。
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 ListString 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 ArrayListString();
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);
}
}