導航:首頁 > 編程語言 > java隨機數概率

java隨機數概率

發布時間:2022-07-31 22:09:43

java:怎樣產生1~6的隨機數,並使1~4產生的概率大一些呢

用概率模型,先隨機一次看取用哪個概率,隨後再隨機一次。代碼示例如下:

importjava.util.Random;
publicclassHelloWorld{
publicstaticvoidmain(String[]args)
{
Randomrandom=newRandom();
doublep1=0.7;//1~4的概率
doublep=(((int)random.nextInt(10)%(10)+1)*1.0/10<p1)?p1:(1-p1);//實際所取概率
intmax=(p==p1)?4:6;
intnum=(int)random.nextInt(max)%(max)+1;
System.out.print(num);
}
}

㈡ java中概率的問題

你的問題描述不清。
如果是別的數字是均等的,那把一個單獨處理,別的數字分享17/20的概率。實際上是一個映射的問題。具體實現就是拿20個數字做random,然後取整,比如1->1,2、3->2,若是其它,則重新獲取一個3的random,當然要把1和2給去掉

——————————————
那不就更容易了,剩下的不需要重新獲取random了,直接就是3
————————————————————————

public static void main(String arg[]) {
System.out.println(getInt());
}
private static long getInt() {
long a = Math.round(Math.random() * 20);
if (a == 0 || a == 1) {
return 1;
} else if (a == 2) {
return 2;
} else {
return 3;
}
}

㈢ 關於Java里產生1-6隨機數的方法

我認為2種方法產生的1~6的幾率是相等的,都為1/6.

第一種(int)(Math.random()*10)%6得到0~6的隨機數,每個數的產生的概率為1/7,再加上1,得到1~6的隨機數,0不再出現,每個數產生的幾率1/6.

另一種(int)(Math.random()*6)產生0~5,每個數產生的概率為1/6,再加上1,得到1~6的隨機數,每個數產生的幾率仍為1/6.

㈣ 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設置1到100之內的隨機數 要求80出現的概率在80% 求解答

在100之內,隨便取2個數(如:20,1),然後組成一個數組如下[20,1,8,8,8,8,8,8,8,8],隨即就ok了,絕對80%。
不過這種題目太無恥了,典型的抽獎作弊。

㈥ 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程序,生成100個1到6之間的隨機數,統計1到6每個數出現的概率

package 測試包;

public class 隨機數16 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int aa[]=new int[100];
int bb[]=new int[6];

for(int i=0;i<100;i++){
aa[i]=(int)(Math.random()*6+1);

if(i<6){
bb[i]=0;
}//if
}

for(int j=0;j<6;j++){
for(int k=0;k<100;k++){
if (j+1==aa[k]){bb[j]=bb[j]+1;}

}//for k

}//for j

for(int L=0;L<6;L++){
System.out.println((L+1)+"出現的幾率是:"+bb[L]+"%");
}
}

}

㈧ java隨機數概率問題

@Test
public void outChar(){
char[] charArr={'a','b','c','d','e','f','g','h','i','j'};
Random random=new Random();
int i;
for(int j=0;j<100;j++){
i= random.nextInt(9);
System.out.println(charArr[i]);
}
}
應該可以解決吧

㈨ 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隨機數概率相關的資料

熱點內容
php開發客戶端 瀏覽:998
theisle測試服怎麼搜伺服器 瀏覽:447
廣播PDF 瀏覽:218
單片機編程300例匯編百度 瀏覽:35
騰訊雲連接不上伺服器 瀏覽:223
不能用來表示演算法的是 瀏覽:861
6軸機器人演算法 瀏覽:890
手機主題照片在哪個文件夾 瀏覽:294
安卓手機後期用什麼軟體調色 瀏覽:628
cad修改快捷鍵的命令 瀏覽:242
好錢包app怎麼登錄不了 瀏覽:859
樹莓派都用python不用c 瀏覽:757
access文件夾樹的構造 瀏覽:662
安卓多指操作怎麼設置 瀏覽:658
linux樹形目錄 瀏覽:727
平方根的簡單演算法 瀏覽:898
千牛訂單頁面信息加密取消 瀏覽:558
單片機自製紅外遙控燈 瀏覽:719
伺服器最小配置怎麼弄 瀏覽:853
ibm伺服器硬體如何升級 瀏覽:923