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$();
}
}
基本思路:
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$();
}
}
相关文章推荐
- Java实现随机验证码功能实例
- Java实现随机验证码功能实例
- java--第十周--任务一 封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题
- 解析Java实现随机验证码功能的方法详解
- Java 编程下实现随机无重复数字功能
- 使用Java程序实现随机验证码功能的实例
- JAVA实现随机无重复数字功能
- 《功能是随机产生一个2000年后的年份,并输出该年2月的日历页——java第十周》
- JAVA--封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题
- Java实现随机验证码功能实例
- Java实现随机验证码功能实例
- JAVA Struts2 考试功能 —— 自动产生随机试题
- Java实现随机验证码功能实例
- Java实现随机验证码功能
- 使用Java程序实现随机验证码功能的实例
- JAVA实现随机无重复数字功能
- 使用技巧:Java实现随机验证码功能实例
- JAVA实现随机无重复数字功能
- Java实现随机验证码功能
- Java实现产生一个随机验证码