您的位置:首页 > 编程语言 > Java开发

java中,随机的得到10个布尔类型的值,然后统计这些值出现的次数并输出!

2015-07-26 12:38 633 查看
package com.untils.access;

import java.text.NumberFormat;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Random;

public class RandomDemo {

public static void main(String[]args){

List<Boolean> list=new ArrayList<Boolean>();

Random random=new Random();



//将随机的到布尔类型的值一次添加到list中

for(int j=0;j<10;j++){

Boolean blnRand=random.nextBoolean();

System.out.println(blnRand);

list.add(blnRand);

}



//定义一个map来存放每个元素出现的次数;

Map<Boolean,Integer> randMap=new HashMap<Boolean,Integer>();

//循环判断

for(Boolean b:list){

Integer i=randMap.get(b); //这里如果深入的去应用的话可以做一个计数器的小工具!这种思想即:利用的map这样集合类,key不能改变,但是value可以变化!这样就可 以动态的去控制计数!就可以做一个简单的计数器!!!

if(i==null){

randMap.put(b, 1);

}else{

randMap.put(b, i+1);

}

}

//输出结果

for(Boolean key:randMap.keySet()){

Integer k=randMap.get(key);

float f=k/10f;

NumberFormat nf=NumberFormat.getPercentInstance();

nf.setMinimumFractionDigits(1);

System.out.println("\n"+key+"出现了 "+k+"次");

System.out.println(key+"占比率为:"+nf.format(f));

}



}

}

这段代码偶然是我偶然开导一个资料上出的题目!虽然比较简单,但在当时我想了很久,并且受当时知识所限(当时只学集合部分)才用了这种方法!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: