Java实现统计福彩双色球出现次数(毫无技术可言)
来源:互联网 发布:批量网页录入数据 编辑:程序博客网 时间:2024/05/16 19:55
今天早上闲来无事,恰好在看微博的时候看到的双色球的开奖视频,没出现一个号,主持人就会报出现了多少次,于是自己就无聊的写了一下统计每期的号码出现的次数程序。
彩票号码数据来自网上:
代码如下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");//蓝色出现的次数包括现在的次数,所以初始化为1int countBlue = 1; int[] countRed = new int[redNow.length];////初始化红色号码统计次数为1for (int n = 0; n < countRed.length; n++) {countRed[n] = 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 模拟福彩双色球
- O2O烧钱毫无技术可言 是时候做得技术点理智点了
- (Java)统计随机产生的字母各自出现次数
- java之统计字符串出现的次数(map)
- Java中实现统计一个字符串在另一个字符串中出现的次数统计
- C++实现统计字符串出现次数
- TreeMap实现统计字符出现次数
- 利用随机数实现福彩双色球
- java统计字符串中子字符串出现次数
- Java统计一篇英文单词出现次数
- java按单词出现次数统计单词
- java统计中文字符出现次数
- java统计字符串出现次数并打印
- java统计每个字母出现的次数
- 用Java统计单词出现的次数
- properties 文件操作
- 什么是native compiler?什么是cross compiler?
- 中国最美的40个旅游景点
- string时间处理的很好
- VS2010 简单ATL COM开发(上)
- Java实现统计福彩双色球出现次数(毫无技术可言)
- hdu 1033 Edge
- fedora 安装xfce
- Delphi 图形设计(2)
- Web开发者职业生涯的11个阶段
- 卡片式报表的增删改
- 字符串常量放在内存中的静态存储区
- nagios 安装备忘
- Android词汇术语