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

java实现随机产生双色球功能

2014-07-30 11:37 393 查看
java实现随机产生双色球功能

基本思路:

1、是否尾号固定

2、接收输入的随机注数

3、产生随机注,并排序

4、打印输出并保存到文件

废话不多说,直接上代码。

package com;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.text.DecimalFormat;

import java.text.SimpleDateFormat;

import java.util.Locale;

import java.util.Random;

public class CreateRandom {

protected void my8000000$() {

try {

SimpleDateFormat sdf = new SimpleDateFormat("",

Locale.SIMPLIFIED_CHINESE);

sdf.applyPattern("yyyyMMddHHmmss");

String str = sdf.format(Long.valueOf(System.currentTimeMillis()));

BufferedReader reader = new BufferedReader(new InputStreamReader(

System.in));

String p = new File("/").getAbsolutePath();

BufferedWriter writer = new BufferedWriter(new FileWriter(p + str

+ ".txt"));

int n = 0;

System.out

.println("---------------------------- 请选择投注方式:---------------------------");

System.out

.println("---------------------------- 尾号固定请输入 1 ---------------------------");

System.out

.println("---------------------------- 尾号随机请输入 2 ---------------------------");

String s = reader.readLine();

try {

n = Integer.parseInt(s);

if (n == 1) {

System.out

.println("--------------------------- 你选择的尾号固定的投注方式 ----------------------------");

System.out

.println("-------------------------- 请输入尾号(1-16 中间选一个) --------------------------");

tz1(reader, writer);

} else if (n == 2) {

System.out

.println("--------------------------- 你选择的尾号随机的投注方式 ----------------------------");

System.out

.println("---------------------- 请输入随机的双色球注数:(1-9999998) ----------------------");

tz2(reader, writer);

} else {

System.out.println("你太有才了…… *^_^* ");

System.out.println("亲,这里只有两种选择呦…… 1/2 *^_^* ");

my8000000$();

}

} catch (Exception e) {

System.out.println("你太有才了…… *^_^* ");

System.out.println("亲,这里只有两种选择呦…… 1/2 *^_^* ");

my8000000$();

}

System.out.println();

System.out.println("------------------------ 随机产生的号码已保存到" + p + str

+ ".txt" + " ------------------------");

try {

Thread.sleep(10000L);

System.exit(0);

} catch (InterruptedException e) {

e.printStackTrace();

}

} catch (IOException e) {

e.printStackTrace();

}

}

private void tz1(BufferedReader reader, BufferedWriter writer) {

try {

int n = 0;

int red = 0;

red = testred(reader);

System.out.println("------------------------------ 你输入的尾号为:" + red

+ " -----------------------------");

System.out.print("\n");

System.out

.println("---------------------------- 请输入随机的双色球注数:---------------------------");

n = testn(reader);

System.out.println("------------------------------ 你输入的注数为:" + n

+ " 注 -----------------------------");

System.out.print("\n");

int[][] ss = randomArr(n, red);

DecimalFormat df = new DecimalFormat("00");

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

System.out.print(" ");

for (int i = 0; i < 7; ++i) {

writer.write(df.format(ss[j][i]) + " ");

System.out.print(df.format(ss[j][i]) + " ");

}

writer.write("\r\n");

System.out.print("\n");

}

reader.close();

writer.close();

} catch (IOException e) {

e.printStackTrace();

}

}

private void tz2(BufferedReader reader, BufferedWriter writer) {

try {

int n = 0;

n = testn(reader);

System.out.println("------------------------------ 你输入的注数为:" + n

+ " 注 -----------------------------");

System.out.print("\n");

int[][] ss = randomArr(n);

DecimalFormat df = new DecimalFormat("00");

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

System.out.print(" ");

for (int i = 0; i < 7; ++i) {

writer.write(df.format(ss[j][i]) + " ");

System.out.print(df.format(ss[j][i]) + " ");

}

writer.write("\r\n");

System.out.print("\n");

}

reader.close();

writer.close();

} catch (IOException e) {

e.printStackTrace();

}

}

private int testn(BufferedReader reader) {

int n = 0;

try {

String s = reader.readLine();

try {

n = Integer.parseInt(s);

if ((n > 9999999) || (n < 0)) {

System.out.println("请输入注数(1-9999998) *^_^* ");

n = testn(reader);

}

} catch (Exception e) {

System.out.println("请输入正整数…… *^_^* ");

n = testn(reader);

}

} catch (IOException e) {

e.printStackTrace();

}

return n;

}

private int testred(BufferedReader reader) {

int red = 0;

try {

String s = reader.readLine();

try {

red = Integer.parseInt(s);

if ((red > 16) || (red < 0)) {

System.out.println("请输入尾号(1-16 中间选一个) *^_^* ");

red = testred(reader);

}

} catch (Exception e) {

System.out.println("请输入正整数…… *^_^* ");

red = testred(reader);

}

} catch (IOException e) {

e.printStackTrace();

}

return red;

}

private int[][] randomArr(int num) {

int[][] arr = new int[num][7];

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

for (int i = 0; i < 6; ++i) {

arr[j][i] = randomInt(1, 33);

for (int k = 0; k < i; ++k) {

if (arr[j][i] == arr[j][k]) {

k = 0;

arr[j][i] = randomInt(1, 33);

}

}

}

arr[j][6] = randomInt(1, 16);

}

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

for (int i = 0; i < 6; ++i) {

for (int k = 0; k < 5 - i; ++k) {

if (arr[j][k] > arr[j][(k + 1)]) {

int temp = arr[j][k];

arr[j][k] = arr[j][(k + 1)];

arr[j][(k + 1)] = temp;

}

}

}

}

return arr;

}

private int[][] randomArr(int num, int red) {

int[][] arr = new int[num][7];

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

for (int i = 0; i < 6; ++i) {

arr[j][i] = randomInt(1, 33);

for (int k = 0; k < i; ++k) {

if (arr[j][i] == arr[j][k]) {

k = 0;

arr[j][i] = randomInt(1, 33);

}

}

}

arr[j][6] = red;

}

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

for (int i = 0; i < 6; ++i) {

for (int k = 0; k < 5 - i; ++k) {

if (arr[j][k] > arr[j][(k + 1)]) {

int temp = arr[j][k];

arr[j][k] = arr[j][(k + 1)];

arr[j][(k + 1)] = temp;

}

}

}

}

return arr;

}

private int randomInt(int min, int max) {

Random random = new Random();

return random.nextInt(max - min + 1) + min;

}

public static void main(String[] args) {

CreateRandom tr = new CreateRandom();

tr.my8000000$();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: