如何复制java卡,使用java做一个简单的集卡程序
使用java做一個簡單的集卡程序
本次設想的是要集齊4張卡,每張卡的概率都是25%,如果每個用戶集齊需要多少次才能集合完畢
public class Test {
public static void main(String[] args) {
//1.總循環數(模擬用戶)
for (int i = 0; i < 10000; i++)
{
int[] a = {1,2,3,4}; //4張卡片
//2.生成隨機數sss并記錄一個用戶集卡完畢后的統計
for(int n = 0;;n++)
{
int index = (int) (Math.random() * a.length);
int sss=index+1;
//System.out.println(sss);
//3.如果a的數值等于sss的數值則a的數值等于0
for (int m = 0; m < a.length; m++)
{
if(a[m] == sss)
{
a[m] = 0;
}
}
//System.out.println(Arrays.toString(a));
//如果a數組的和都等于0則跳出循環,并記錄本次循環次數
if(Arrays.stream(a).sum()==0)
{
int s = n+1;
System.out.println(s);
break;
}
}
}
}
}
最后隨便統計了下數據
第二次做了一個記錄,用于記錄用戶抽取幾次才能成功
public class Test {
public static void main(String[] args) {
Mapmap = new HashMap();
//1.總記錄數
for (int i = 0; i < 10000; i++)
{
int[] a = {1,2,3,4};
//2.生成隨機數sss并記錄集卡完畢后的統計
for(int n = 0;;n++)
{
int index = (int) (Math.random() * a.length);
int sss=index+1;
//System.out.println(sss);
//3.如果a的數值等于sss的數值則a的數值等于0
for (int m = 0; m < a.length; m++)
{
if(a[m] == sss)
{
a[m] = 0;
}
}
//System.out.println(Arrays.toString(a));
//如果a數組的和都等于0則跳出循環,并記錄本次循環次數
if(Arrays.stream(a).sum()==0)
{
int s = n+1;
//判斷 s 值是否等于當前值的 s
if(map.containsKey(s)){
//若相等,則把 s 值每次加一
map.put(s, map.get(s)+1);
}else{
//若不相等,則放入map,并且設置 s 為1
map.put(s,1);
}
//打印輸出s(比對map中的數據)
//System.out.println(s);
break;
}
}
}
Set res = map.keySet();
for (Integer im : res) {
System.out.println("用戶集卡" + im + "次成功的共有" + map.get(im)+"人");
}
}
}
最后打印輸出一下
本文地址:https://blog.csdn.net/weixin_42504094/article/details/112236826
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!
總結
以上是生活随笔為你收集整理的如何复制java卡,使用java做一个简单的集卡程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 波罗汽车离合器线一般多长时间更换?
- 下一篇: oracle 正则表达式拆分字符串,or