導航:首頁 > 編程語言 > java計算概率

java計算概率

發布時間:2025-03-31 03:32:43

java程序:編寫生成100個1-6之間的隨機數,統計1—6每個出現的概率,菜鳥看不懂程序

1.用內置方法Math.random()產生一個隨機數介於0~1。
2.強制轉化為int類型,根據int類型的特點,這個數是0~5之間的整數。
3.得到的數加1,這樣這個數就是介於1~6的整數,並且是隨機的。
4.將介於1~6之間的這個整數賦值給randomNum
5.(重點)probability是個數組,這個程序的演算法就是:利用probability這個數組記錄隨機數出現的次數,probability[0]記錄隨機數1出現的次數,就是當出現的隨機數為1時,數組的probability[randomNum-1]項加1(randomNum-1是為了表現演算法,實際的程序中是不需要先加1再減1的)。同理:其它的隨意數也做這樣的處理。這樣,probability這個數組中[0]項保存的是1的出現次數,[1]項保存的是2出現的次數…………
6.輸出隨機數的值(後面加個空格「\t」)
7.循環到步驟第1.個步驟.

② 初學java,突然想算一下買20年雙色球中一等獎概率,用java編譯時沒出錯,運行時出錯了。問一下哪錯了。

classSsq{
publicstaticvoidmain(String[]args){
//Gailvaa=newZonggailv();
System.out.println(Zonggailv.g());
}
}

java裡面一般用println輸出。

③ Java編程生成100個1~6之間的隨機數,統計1~6每個數出現的概率;

java里生成隨機數主要有2個方法比較常用.

1.Random類. 在java.util.包里, 有多種方法可以隨機產生int, long, double,boolean等類型

2.Math 類,在java.lang.包里, 可以生成一個[0~1)之間的隨機浮點數

*備注* :a. )使用Random需要導包,但是使用Math無需導包.

b. )Math底層還是調用了Random類的nextDouble()方法

例如生成[1,6]之間的隨機數

1 .Random的方法,生成的隨機數

Randomr=newRandom();	
intnum1=r.nextInt(6)+1;//r.next(6)生成的是0~5之間的數字,需要+1,才是[1~6]之間的數字

2. Math的方法,進行隨機數的生成

intnum=(int)(Math.random()*6)+1;
//(int)(Math.random()*6)生成的是0~5之間的整數
//需要+1才是[1~6]的數字

2. 可以使用數組的方法來存出現的次數. 數字1~6 是連續的, 數組下標也是連續的.我們可以用下標[0~5] 來代表數字[1~6], 數組的每個格子用來存數字數字出現的次數

//本題使用數組來寫代碼比較方便,簡潔.
importjava.util.Random;

publicclassRandomDemo{
publicstaticvoidmain(String[]args){
int[]times=newint[6];//6個格子的數組,存儲出現的次數
intn=100;//循環的次數
Randomr=newRandom();
for(inti=0;i<n;i++){
intnum=r.nextInt(6)+1;//方法1隨機產生1~6的數字
//intnum=(int)(Math.random()*6)+1;//方法2隨機產生1~6的數字
times[num-1]=times[num-1]+1;//次數增加1
}

for(inti=0;i<times.length;i++){
System.out.println((i+1)+"出現的次數"+times[i]);
}
}
}

輸出: 當n=100時

1出現的次數13
2出現的次數16
3出現的次數17
4出現的次數23
5出現的次數21
6出現的次數10

輸出: 當n=1000時

1出現的次數160
2出現的次數177
3出現的次數161
4出現的次數169
5出現的次數175
6出現的次數158

④ java投擲骰子,求點數的出現概率

很簡單 。
int [] num = new int[3]; //數組長度為3
int diag=0; //統計出現5的次數
for(int i=0;i>3;i++){ //擲骰子三次 ,也就是三個骰子
隨機數字 num[i]=(int)(Math.random()*5)+1; //隨機1-6的數字
if(num[i]==5){
diag++; //當骰子等於5的時候,統計次數加1;
}
}
double a=diag/3; //骰子出現5的次數,除以骰子總數,得到概率。
System.out.println(a);

⑤ java中如何以不同概率產生隨機數1-30

Random rm = new Random();
int i = rm.nextInt(18);
int n = 0;
if(i > 8){
n = rm.nextInt(10)+1;
}else if(i > 2&&i <= 8){
n = rm.nextInt(11) + 10;
}else if(i<=2){
n = rm.nextInt(11) + 20;
}

這樣生成的整數n是 3/6的概率在1-10之間,2/6的概率是在10-20之間,1/6的概率是在20-30之間(這種都是偽隨機,但盡量接近概率)
你看看這樣行不行
希望對你有幫助

⑥ java集五福活動概率技術如何實現

⑦ 求java演算法:根據物品的數量來確定抽獎的概率(當物品數量為0時無論如何都不可能選到)

public class Lottery {

private int m = 1000;//發放獎券的數量
private int n = 2;//獎品的數量

public boolean getLottery(){
boolean isLottery = false;
double d = (double)n/(double)m;//中獎概率
double r = Math.random();//0~1之間的隨機數,包括0
if(r<d){//如果隨機數小於概率 那麼中獎
n--;//獎品數量-1
isLottery = true;
}
m--;//獎券數量-1
return isLottery;
}

}

閱讀全文

與java計算概率相關的資料

熱點內容
撲克牌睡眠解壓 瀏覽:190
rc4演算法流程圖 瀏覽:157
胡蘿卜解壓方法 瀏覽:35
掃描pdf格式軟體 瀏覽:876
程序員在銀行開賬戶 瀏覽:516
android資料庫下載 瀏覽:748
中午伺服器崩潰怎麼辦 瀏覽:425
產品經理和程序員待遇 瀏覽:442
解憂程序員免費閱讀 瀏覽:109
錄像免壓縮 瀏覽:508
總結所學過的簡便演算法 瀏覽:362
南昌哪些地方需要程序員 瀏覽:761
三台伺服器配置IP地址 瀏覽:175
如何用命令方塊連續對話 瀏覽:280
win7linux共享文件夾 瀏覽:304
命令符打開本地服務 瀏覽:601
android應用程序源碼 瀏覽:705
安卓開發工程師簡歷怎麼寫 瀏覽:63
熱水器水量伺服器是什麼意思 瀏覽:119
stk衛星編譯 瀏覽:480