import?java.awt.EventQueue;
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的寧縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
import?java.awt.TextArea;
import?java.awt.TextField;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.util.Random;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
import?javax.swing.JPanel;
import?javax.swing.JTextArea;
import?javax.swing.JTextField;
import?javax.swing.border.EmptyBorder;
public?class?LuckySelect?extends?JFrame?{
private?JPanel?contentPane;
private?JTextField?textFieldA;
private?JTextField?textFieldB;
private?JTextField?textFieldC;
private?TextField?textField;
private?JTextField?textFieldResult;
private?JTextArea?textArea;
/**
?*?Launch?the?application.
?*/
public?static?void?main(String[]?args)?{
EventQueue.invokeLater(new?Runnable()?{
public?void?run()?{
try?{
LuckySelect?frame?=?new?LuckySelect();
frame.setVisible(true);
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
});
}
/**
?*?Create?the?frame.
?*/
public?LuckySelect()?{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,?100,?450,?251);
contentPane?=?new?JPanel();
contentPane.setBorder(new?EmptyBorder(5,?5,?5,?5));
contentPane.setLayout(null);
setContentPane(contentPane);
JLabel?lblA?=?new?JLabel("A");
lblA.setBounds(10,?128,?54,?15);
contentPane.add(lblA);
JLabel?lblB?=?new?JLabel("B");
lblB.setBounds(124,?128,?54,?15);
contentPane.add(lblB);
JLabel?lblC?=?new?JLabel("C");
lblC.setBounds(254,?128,?54,?15);
contentPane.add(lblC);
textFieldA?=?new?JTextField();
textFieldA.setBounds(30,?125,?66,?21);
contentPane.add(textFieldA);
textFieldA.setColumns(10);
textFieldB?=?new?JTextField();
textFieldB.setColumns(10);
textFieldB.setBounds(149,?125,?66,?21);
contentPane.add(textFieldB);
textFieldC?=?new?JTextField();
textFieldC.setColumns(10);
textFieldC.setBounds(264,?125,?66,?21);
contentPane.add(textFieldC);
textField?=?new?TextField();
textField.setBounds(98,?167,?157,?21);
contentPane.add(textField);
textField.setColumns(10);
textFieldResult?=?new?JTextField();
textFieldResult.setBounds(280,?167,?66,?21);
contentPane.add(textFieldResult);
textFieldResult.setColumns(10);
textFieldA.setText("10");
textFieldB.setText("10");
textFieldC.setText("10");
JButton?button?=?new?JButton("\u62BD\u5956");
button.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
select();
}
});
button.setBounds(0,?166,?93,?23);
contentPane.add(button);
textArea?=?new?JTextArea();
textArea.setBounds(30,?31,?306,?83);
contentPane.add(textArea);
}
protected?void?select()?{
//?TODO?Auto-generated?method?stub
int?aNum?=?Integer.decode(textFieldA.getText());
int?bNum?=?Integer.decode(textFieldB.getText());
int?cNum?=?Integer.decode(textFieldB.getText());
Random?r?=?new?Random();
int?random?=?r.nextInt(aNum?+?bNum?+?cNum);
if(random?=?aNum){
textFieldA.setText(Integer.toString(Integer.decode(textFieldA.getText())?-?1));
textArea.append(Integer.toString(random)?+?"抽中了A\n");
}else?if(random?=?aNum?+?bNum){
textFieldB.setText(Integer.toString(Integer.decode(textFieldB.getText())?-?1));
textArea.append(Integer.toString(random)?+?"抽中了B\n");
}else?if(random?=?aNum?+?bNum?+?cNum){
textFieldC.setText(Integer.toString(Integer.decode(textFieldC.getText())?-?1));
textArea.append(Integer.toString(random)?+?"抽中了C\n");
}
}
}
中獎(jiǎng)率 1%,每人抽 10 次,也就是說(shuō) 10 個(gè)人就可以抽 100 次,概率上來(lái)說(shuō) 10 個(gè)人必中獎(jiǎng)?假設(shè)邏輯是這樣的,可以這樣設(shè)計(jì):
1、先寫(xiě)定義一個(gè)表示概率的數(shù)組 ratio,這個(gè)數(shù)組最多可以存 100 個(gè)數(shù)字,每個(gè)數(shù)字的值不能重復(fù),范圍是 0 到 100,表示 100%?,F(xiàn)在你的中獎(jiǎng)率是 1%,那么就存一個(gè)數(shù)字。
2、定義一個(gè)是否中將的布爾型變量 win;
每次抽獎(jiǎng)用隨機(jī)正整數(shù)對(duì) 100 取余,再將結(jié)果拿到 ratio 數(shù)組中查找,如果找到就將 win 賦值為 true,表示中獎(jiǎng)。如果沒(méi)找到就對(duì) win 賦值為 false,表示沒(méi)有中獎(jiǎng)。
可以做到!用 Random 得到隨機(jī)的數(shù),再根據(jù)你的登陸人的身份 控制隨機(jī)的次數(shù)是多少!
例如:
1 - 20 為中獎(jiǎng), 普通就隨機(jī)出 10000個(gè)數(shù)。會(huì)員的話就隨機(jī)100個(gè)數(shù)就好了!