如何复制java卡,使用java做一个简单的集卡程序
使用java做一個簡單的集卡程序
本次設(shè)想的是要集齊4張卡,每張卡的概率都是25%,如果每個用戶集齊需要多少次才能集合完畢
public class Test {
public static void main(String[] args) {
//1.總循環(huán)數(shù)(模擬用戶)
for (int i = 0; i < 10000; i++)
{
int[] a = {1,2,3,4}; //4張卡片
//2.生成隨機數(shù)sss并記錄一個用戶集卡完畢后的統(tǒng)計
for(int n = 0;;n++)
{
int index = (int) (Math.random() * a.length);
int sss=index+1;
//System.out.println(sss);
//3.如果a的數(shù)值等于sss的數(shù)值則a的數(shù)值等于0
for (int m = 0; m < a.length; m++)
{
if(a[m] == sss)
{
a[m] = 0;
}
}
//System.out.println(Arrays.toString(a));
//如果a數(shù)組的和都等于0則跳出循環(huán),并記錄本次循環(huán)次數(shù)
if(Arrays.stream(a).sum()==0)
{
int s = n+1;
System.out.println(s);
break;
}
}
}
}
}
最后隨便統(tǒng)計了下數(shù)據(jù)
第二次做了一個記錄,用于記錄用戶抽取幾次才能成功
public class Test {
public static void main(String[] args) {
Mapmap = new HashMap();
//1.總記錄數(shù)
for (int i = 0; i < 10000; i++)
{
int[] a = {1,2,3,4};
//2.生成隨機數(shù)sss并記錄集卡完畢后的統(tǒng)計
for(int n = 0;;n++)
{
int index = (int) (Math.random() * a.length);
int sss=index+1;
//System.out.println(sss);
//3.如果a的數(shù)值等于sss的數(shù)值則a的數(shù)值等于0
for (int m = 0; m < a.length; m++)
{
if(a[m] == sss)
{
a[m] = 0;
}
}
//System.out.println(Arrays.toString(a));
//如果a數(shù)組的和都等于0則跳出循環(huán),并記錄本次循環(huán)次數(shù)
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,并且設(shè)置 s 為1
map.put(s,1);
}
//打印輸出s(比對map中的數(shù)據(jù))
//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
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網(wǎng)友為您解惑!
總結(jié)
以上是生活随笔為你收集整理的如何复制java卡,使用java做一个简单的集卡程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 波罗汽车离合器线一般多长时间更换?
- 下一篇: 红旗H9,将开启国产真豪华车