導航:首頁 > 編程語言 > javaif隨機抽獎

javaif隨機抽獎

發布時間:2023-06-29 13:02:07

java代碼實現抽獎:從班級的學號中抽出一個一等獎,兩個二等獎,三個三等獎

抽取問題, 重點是 同一個學號不能重復被抽取.

解決辦法很多,

  1. 比如數組可以使用下標來標記,號碼是否被使用,使用了就繼續下一次抽取

  2. 也可以使用集合來抽取,把集合順序打亂,然後隨便抽幾個就可以了

參考代碼:數組法

importjava.util.Random;

publicclassTest{

publicstaticvoidmain(String[]args){
intstuNums=30;

int[]nums=newint[stuNums];//存儲學號的數組
boolean[]flags=newboolean[stuNums];//標記,用於標記對應下標的學號是否已經被抽取過了
for(inti=0;i<stuNums;i++){
nums[i]=i+1;//給學號賦值
}

Randomr=newRandom();
while(true){
intindex=r.nextInt(stuNums);
if(!flags[index]){
System.out.println("A等:"+nums[index]);
flags[index]=true;//標記已經被使用過了
break;
}
}


for(inti=0;i<2;i++){
intindex=r.nextInt(stuNums);
if(!flags[index]){
System.out.println("B等:"+nums[index]);
flags[index]=true;
}else{
i--;//如果已經被抽取過了,那麼i建議,再次循環
}
}

for(inti=0;i<3;i++){
intindex=r.nextInt(stuNums);
if(!flags[index]){
System.out.println("c等:"+nums[index]);
flags[index]=true;
}else{
i--;
}
}
}
}

集合法

importjava.util.ArrayList;
importjava.util.Collections;

publicclassTest2{
publicstaticvoidmain(String[]args){
intstuNums=20;
ArrayList<Integer>list=newArrayList<Integer>();
for(inti=0;i<stuNums;i++){
list.add(i+1);
}

System.out.println("有序"+list);
Collections.shuffle(list);//打亂順序
System.out.println("亂序"+list);

System.out.println("A等"+list.get(0));

System.out.println("B等"+list.get(1));
System.out.println("B等"+list.get(2));

System.out.println("C等"+list.get(3));
System.out.println("C等"+list.get(4));
System.out.println("C等"+list.get(5));
}
}

❷ 用java完成一個抽獎的程序。 每次運行程序,都會從以下的抽獎結果中隨機顯示一個出來:

生成100個對象,對象有個屬性,其中10個是大獎,40個是小獎,50個是無獎。
放到一個List里。
每次抽中的步驟
1、隨機生成0-List長度之間的數值 ,去取List中的相應對象,並移除這個對象。

代碼如下。:
獎品對象類:

public class PrizeBean {

private String type;

public String getType() {
return eggType;
}

public void setType(String eggType) {
this.eggType = eggType;
}

}
獎品池初始化代碼段:

{
List prizebeanList = new ArrayList();

for (int i = 0; i < 10; i++) {
PrizeBean prizeBean = new PrizeBean();

prizeBean.setType(「大獎「);

prizebeanList.add(prizeBean);
}

for (int i = 0; i < 40; i++) {
PrizeBean prizeBean = new PrizeBean();

prizeBean.setType(「小獎「);

prizebeanList.add(prizeBean);
}

for (int i = 0; i < 50; i++) {
PrizeBean prizeBean = new PrizeBean();

prizeBean.setType(「無獎「);

prizebeanList.add(prizeBean);
}

}
抽獎代碼段:

/**
*獎品池已經空的,肯定返回無獎了。。。

**/

if(prizebeanList.size()==0){
- 沒有中獎哦,下次加油!
return;

}
/**
* 隨機生成,獎品池中獎品數量的數字。。取出獎品池中的數字。。移除記錄。返回。。
*/
int resultnum = (int) (Math.random() * prizebeanList.size());
PrizeBean resultPrizeBean = prizebeanList.get(resultnum);
prizebeanList.remove(resultPrizeBean);

if(resultPrizeBean.getType() .eqauls("大獎"){
- 恭喜,大獎!

}else if(resultPrizeBean.getType() .eqauls("小獎"){
- 運氣不錯哦,小獎!

}else{
- 沒有中獎哦,下次加油!
}.

❸ 關於java抽獎代碼

intSjs=newRandom().nextInt(10)+1;
if(Sjs==1)
{
System.out.println("您抽到的是一等獎");
}
elseif(Sjs>1&&Sjs<4)
{
System.out.println("您抽到的是二等獎");
}
elseif(Sjs>3&&Sjs<7)
{
System.out.println("您抽到的是三等獎");
}
else
{
System.out.println("謝謝參與");
}

你這個if判斷語句後面是沒有分號的,

❹ 商場推出幸運抽獎活動的java初級代碼編寫

public class Lucky {
public static void main(String[] args){
System.out.println("請輸入您的4位會員卡號:");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt(); //接收用戶從控制台輸入的會員卡號,並保存在會員卡號變數中
int a = number/1000; //千位
int b = number%1000/100; //百位
int c = number%100/10; //十位
int d = number%10; //個位
if((a+b+c+d)>20){
System.out.println("恭喜中獎!您是幸運客戶");
}else{
System.out.println("謝謝參與!");
}
}
}

最基礎的 沒有異常判斷 無限循環輸入什麼東西

閱讀全文

與javaif隨機抽獎相關的資料

熱點內容
安卓手機信號旁邊的漢字怎麼設置 瀏覽:301
nrf2401單片機 瀏覽:710
清除電腦文件夾垃圾的方法 瀏覽:223
天河程序員 瀏覽:189
成都程序員公積金 瀏覽:765
程序員為什麼叫程序猿 瀏覽:481
加西貝拉壓縮機價格 瀏覽:786
海信聚好看如何用u盤安裝app 瀏覽:69
加密狗怎麼寫的 瀏覽:557
安卓手機如何能調最大聲音 瀏覽:665
編程開發工具大全 瀏覽:569
如何把安卓系統換成windows 瀏覽:28
android拼接url 瀏覽:22
華為nfc復制加密卡怎麼模擬 瀏覽:772
在pdf中怎麼插入文件 瀏覽:112
單片機中fw縮寫是什麼 瀏覽:375
交換律的演算法怎麼樣看能看出簡便 瀏覽:659
找醫療工作用哪個app 瀏覽:143
夢幻之鄉密碼解壓 瀏覽:596
nvidiasmi命令 瀏覽:757