黑马程序员技术交流社区
标题:
新撸的双色球系统,看懂的指点指点,看不懂的拿去玩玩
[打印本页]
作者:
sgzqsw
时间:
2016-6-19 13:35
标题:
新撸的双色球系统,看懂的指点指点,看不懂的拿去玩玩
本帖最后由 sgzqsw 于 2016-6-19 13:45 编辑
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Random;
import java.util.Scanner;
/*目的是复习下前面学的东西,还有很多不足,其实还想做一个往期开奖号码并存到本地的,但是File才刚开始看,不怎么熟就没写了。
* 自己玩了好久就中了5快,珍爱生命远离双色球。。。
*/
class Double {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);// 开扫描
dCBall(scanner);
scanner.close();// 关扫描
}
public static void dCBall(Scanner s) {
System.out.println("欢迎来的双色球系统");
System.out.println("请输入红球1~33");
// 用于记录你选出的红球
ArrayList<Integer> redball = new ArrayList<>();
int count = 0;
// 下方健壮性判断不能输入重复的红球,只能输入整数红球。
while (count < 6) {
try {
int str = s.nextInt();//输入
// 判断条件,记录红球
if (!redball.contains(str) && str < 33 && str > 0) {
redball.add(str);
} else {
System.out.println("输入了重复红球请重新输入");
continue;
}
} catch (RuntimeException e) {
System.out.println("只能输入整数数字,别乱写老兄");
break;
}
count++;// 计数已经输入的正确红球数量
}
// 记录你选出的篮球
ArrayList<Integer> blueball = new ArrayList<>();
System.out.println("请输入篮球1~16");
int sc;
try {
while (true) {
sc = s.nextInt();
// 判断条件记录篮球
if (0 < sc && sc < 17) {
blueball.add(sc);
break;
} else {
System.out.println("篮球超出范围");
continue;
}
}
} catch (RuntimeException e) {
System.out.println("只能传正整数");
}
// 下方健壮性判断篮球范围
System.out.println("开始摇奖");
System.out.println("你的红球是" + redball + "篮球" + blueball);
int countRed = 0;
LinkedList<Integer> openball = new LinkedList<>();// 记录开奖红球
// 用于产生红球
Random r = new Random();
// 产生开奖的红球
while (countRed < 6) {
Integer red2 = r.nextInt(32) + 1;// 红球范围
if (!openball.contains(red2)) {
openball.add(red2);
countRed++;
} else {
continue;
}
}
// 统计中奖红球数量
Iterator<Integer> it = openball.iterator();
while (it.hasNext()) {
Integer integer = it.next();
if (openball.contains(integer)) {
countRed++;
}
}
// 开奖的篮球
Integer blueOpen = r.nextInt(16) + 1;
// 输出中奖号码
System.out.println("中奖号码红球" + openball + "中奖篮球[" + blueOpen + "]");
if (blueball.contains(blueOpen)) {//判断有没中篮球
// 中奖的机制
switch (countRed) {//判断红球中多少个
case 6:
System.out.println("恭喜你中1等奖500万元,快去买彩票吧");
break;
case 5:
System.out.println("恭喜你中3等奖3000元");
break;
case 4:
System.out.println("恭喜你中4等奖200元");
break;
case 3:
System.out.println("恭喜你中5等奖10元");
break;
default:
System.out.println("恭喜你中六等奖5元");
break;
}
} else {
switch (countRed) {
case 6:
System.out.println("恭喜你中2等奖100万");
break;
case 5:
System.out.println("恭喜你中4等奖200");
break;
case 4:
System.out.println("恭喜你中5等奖10");
break;
default:
System.out.println("很遗憾没有中奖,祝您下次中奖");
break;
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2