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));
}
}
}
这段代码偶然是我偶然开导一个资料上出的题目!虽然比较简单,但在当时我想了很久,并且受当时知识所限(当时只学集合部分)才用了这种方法!
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));
}
}
}
这段代码偶然是我偶然开导一个资料上出的题目!虽然比较简单,但在当时我想了很久,并且受当时知识所限(当时只学集合部分)才用了这种方法!
相关文章推荐
- Java内部类学习笔记
- JAVA之四种线程池
- 深入浅出RxJava三–响应式的好处
- 深入浅出RxJava(二:操作符)
- 深入浅出RxJava(一:基础篇)
- MyEclipse_10.7安装egit
- Java学习之路0721(七)(抽象类、内部类、接口、多态,单子例模式、工厂模式))
- String to Integer (atoi)
- JAVA从键盘输入数组 2015-07-26 12:01 2人阅读 评论(0) 收藏
- 解决:eclipse的CTRL+space 被输入法占用的尴尬
- O(logn)时间复杂度求Fibonacci数列(java)
- 20150726Java
- 学习java的感悟和总结
- 二分法、快速排序、堆排序 java实现
- JAVA集合类型(二)
- springMVC请求参数绑定
- 如何添加在eclipse 中添加 window Builder
- C#和Java的比较
- java中的关键字super
- Spring(十二)使用Spring的xml文件配置方式实现AOP