Java实现统计福彩双色球出现次数(毫无技术可言)
2013-04-08 13:20
597 查看
今天早上闲来无事,恰好在看微博的时候看到的双色球的开奖视频,没出现一个号,主持人就会报出现了多少次,于是自己就无聊的写了一下统计每期的号码出现的次数程序。
彩票号码数据来自网上:
代码如下Money.java:
运行结果:
输出到文本结果:
彩票号码数据来自网上:
代码如下Money.java:
package com.heynine.money; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.PrintStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Money { private List<Map<String, String>> mOldDatas; /** * 初始化数据 * @throws Exception */ private void initData() throws Exception { mOldDatas = new ArrayList<Map<String, String>>(); File dataFile = new File("datas.txt"); BufferedReader reader = new BufferedReader(new FileReader(dataFile)); String line = null; while((line = reader.readLine()) != null) { Map<String, String> map = new HashMap<String, String>(); //得到时间 String date = line.substring(0, 10); map.put("date", date); //取得第几期 String number = line.substring(11, 18); map.put("number", number); //红色号码 String red = line.substring(20, 37); map.put("red", red); //蓝色号码 String blue = line.substring(38, 40); map.put("blue", blue); mOldDatas.add(map); } reader.close(); } /** * 统计数据 */ private void count() { for (int i = 0; i < mOldDatas.size(); i++) { Map<String, String> mapNow = mOldDatas.get(i); String[] redNow = mapNow.get("red").split(" "); String blueNow = mapNow.get("blue"); //蓝色出现的次数包括现在的次数,所以初始化为1 int countBlue = 1; int[] countRed = new int[redNow.length]; // //初始化红色号码统计次数为1 for (int n = 0; n < countRed.length; n++) { countRed = 1; } //统计红色号码次数 String strCountRed = ""; for (int m = 0; m < redNow.length; m++) { for (int j = i + 1; j < mOldDatas.size(); j++) { Map<String, String> mapOld = mOldDatas.get(j); String redOld = mapOld.get("red"); if (redOld.contains(redNow[m])) { countRed[m]++; } } // 对齐处理 if (m == redNow.length - 1) { if (countRed[m] < 10) { strCountRed = strCountRed + countRed[m] + " "; } else { strCountRed = strCountRed + countRed[m]; } } else { if (countRed[m] < 10) { strCountRed = strCountRed + countRed[m] + " "; } else { strCountRed = strCountRed + countRed[m] + " "; } } } // 保存 mapNow.put("countred", strCountRed); //统计蓝色号码次数 for (int j = i + 1; j < mOldDatas.size(); j++) { Map<String, String> mapOld = mOldDatas.get(j); String blueOld = mapOld.get("blue"); if (blueNow.equals(blueOld)) { countBlue++; } } mapNow.put("countblue", countBlue + ""); } } /** * 数据数据 * @throws Exception */ private void output() throws Exception { System.out.println("开始统计"); FileOutputStream out = new FileOutputStream(new File("out.txt")); PrintStream p=new PrintStream(out); for (int i =0; i < mOldDatas.size(); i++) { Map<String, String> map = mOldDatas.get(i); System.out.println("正在统计第 " + map.get("number") + "期 ..."); p.println(map.get("date") + " " + map.get("number") + "期"); p.println("号码:" + map.get("red") + " " + map.get("blue")); p.println("次数:" + map.get("countred") + " " + map.get("countblue")); p.println(); } p.close(); out.close(); System.out.println("统计完成!"); } public static void main(String[] args) { Money money = new Money(); try { money.initData(); money.count(); money.output(); } catch (Exception e) { e.printStackTrace(); } } }
运行结果:
输出到文本结果:
相关文章推荐
- Java实现统计一篇文章中每个单词出现的次数
- 统计单词出现的次数,Java实现
- Java实现统计某字符串在另一个字符串中出现的次数
- Java实现 统计单词出现的次数并按照单词频率从高到低输出
- Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法
- 字典树-大量字符串前缀及出现次数是否存在统计(Trie树-java)算法实现
- 【小程序】JAVA实现从10~50中随机生成50个数,统计出现的数字及次数,输出出现最多的次数及对应的数字,按数字升序排列。
- 字符出现次数统计直方图-Java实现
- java 实现统计某段文字在内容中出现的次数
- Java实现——统计文件中字符串出现次数
- java实现统计输入一行string中统计其中各个字符出现的次数
- java实现读取一篇英文文章,统计其中每个单词出现的次数并排序输出
- Java中实现统计一个字符串在另一个字符串中出现的次数统计
- 计数字符串中字符出现的次数(java实现)
- Java编程实现统计一个字符串中各个字符出现次数的方法
- java实现计算出字符串中每个字母出现次数
- 基于Java代码实现数字在数组中出现次数超过一半
- Java实现:统计英语词库中某单词是另一单词后缀的次数问题
- 随机产生50个30到35的整数,统计每个数字出现的次数(TreeMap实现),输出时按照数字的降序排列,并且统计出现次数最多的数字和它的次数。
- Java之集合常见例题(1、统计字符出现次数2、集合嵌套遍历。3、斗地主)