数组以及模拟双色球开奖

双色球开奖主要是数组的赋值以及电脑随机数的产生

模拟双色球开奖:

int money=0;

int [] cho=new int[6];//红球

int[] last=new int[7];//最后选球结果

int ch=0;//篮球

String a="机选";

String b="自选";

Scanner in=new Scanner(System.in);

System.out.println("请输入选择方式,机选或者自选");

String c=in.next();

if(c.equals(b)){//控制选择的方式为手选

for(int i=0;i<cho.length;i++){//遍历输入数组的值,为红球号码

System.out.println("请输入第"+(i+1)+"个红球");

cho[i]=in.nextInt();

if(cho[i]>33||cho[i]<1){//控制输入的范围

System.out.println("输入超出号数限制,请重新输入");

i--;

}

for(int j=0;j<i;j++){//控制输入号码不能重复

if(cho[i]==cho[j]){

System.out.println("输入号码与前面重复,请重熟入");

i--;

}

}

}

for(int i=1;i<2;i++){ //单独输入蓝球

System.out.println("请输入篮球号码");

ch=in.nextInt();

if(ch>16||ch<1){//控制范围

System.out.println("输入超出限制,请重新输入");

i--;

}

}

}

else if(c.equals(a)){//控制选择的方式为机选,此后内容同理手选,只是将值改为随机

for(int i=0;i<cho.length;i++){

cho[i]=(int)(Math.random()*33+1);//随机产生数,遍历赋值给数组

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

if(cho[i]==cho[j]){

i--;

}

}

}

for(int i=1;i<2;i++){

ch=(int)(Math.random()*16+1);

}

}

for(int i=0;i<cho.length;i++){

for(int j=(i+1);j<cho.length;j++){//对号码进行选择排序,同样可以冒泡

if(cho[j]<cho[i]){

cho[i]=cho[i]^cho[j];

cho[j]=cho[i]^cho[j];

cho[i]=cho[i]^cho[j];

}

}

}

for(int i=0;i<last.length;i++){//将红球与蓝球同时放入一个数组

if(i<last.length-1){

last[i]=cho[i];

}

if(i==(last.length-1)){

last[i]=ch;

}

}

System.out.print("你选择的号码是:");

for(int i=0;i<last.length;i++){//输出该数组作为选择的号码

System.out.print(last[i]+" ");

}

int[]com=new int[7];//开奖数组

int[]com1=new int[6];

int com2=0;

for(int i=0;i<com1.length;i++){//下面为开奖号码,与机选同理

com1[i]=(int)(Math.random()*33+1);

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

if(com1[i]==com1[j]){

i--;

}

}

}

for(int i=1;i<2;i++){

com2=(int)(Math.random()*16+1);

}

for(int i=0;i<com1.length;i++){

for(int j=(i+1);j<com1.length;j++){

if(com1[j]<com1[i]){

com1[i]=com1[i]^com1[j];

com1[j]=com1[i]^com1[j];

com1[i]=com1[i]^com1[j];

}

}

}

for(int i=0;i<com.length;i++){

if(i<com.length-1){

com[i]=com1[i];

}

if(i==(com.length-1)){

com[i]=com2;

}

}

System.out.print("\n开奖号码是:       ");

for(int i=0;i<com.length;i++){

System.out.print(com[i]+" ");

}

System.out.println("\n中奖结果:");

int count=0;

int count1=0;

for(int i=0;i<cho.length;i++){

for(int j=0;j<cho.length;j++){

if(com1[i]==cho[j]){

count++;

}

}

}

if(ch==com2){

count1=1;

}

if(count1==1){//开奖结果

switch(count){

case 0:

case 1:

case 2:System.out.println("恭喜你中了六等奖:5块钱");break;

case 3:System.out.println("恭喜你中了五等奖:10块钱");break;

case 4:System.out.println("恭喜你中了四等奖:200块钱");break;

case 5:System.out.println("恭喜你中了三等奖:3000块钱");break;

case 6:System.out.println("恭喜你中了一等奖:");break;

}

}

else if(count1==0){

switch(count){

case 4:System.out.println("恭喜你中了五等奖:10块钱");break;

case 5:System.out.println("恭喜你中了四等奖:200块钱");break;

case 6:System.out.println("恭喜你中了二等奖:赚大了");break;

default:System.out.println("什么都没得到,请再接再厉");break;

}

}

当然为了减少代码量这个题可以写一个方法来调用机选方式,同时运用于开奖号码。

深入思考题目,为这个题增加点内容:由用户守号,确定中奖时要买多少期,以及花了多少钱:

只需要将代码稍作改变即可实现:

int pay=0;

int num=0;

int [] cho=new int[6];//红球

int[] last=new int[7];//最后选球结果

int ch=0;//篮球

String a="机选";

String b="自选";

Scanner in=new Scanner(System.in);

System.out.println("请输入选择方式,机选或者自选");

String c=in.next();

if(c.equals(b)){

for(int i=0;i<cho.length;i++){

System.out.println("请输入第"+(i+1)+"个红球");

cho[i]=in.nextInt();

if(cho[i]>33||cho[i]<1){

System.out.println("输入超出号数限制,请重新输入");

i--;

}

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

if(cho[i]==cho[j]){

System.out.println("输入号码与 前面重复,请重新输入");

i--;

}

}

}

for(int i=1;i<2;i++){

System.out.println("请输入篮球号码");

ch=in.nextInt();

if(ch>16||ch<1){

System.out.println("输入超出限制,请重新输入");

i--;

}

}

}

else if(c.equals(a)){

for(int i=0;i<cho.length;i++){

cho[i]=(int)(Math.random()*33+1);

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

if(cho[i]==cho[j]){

i--;

}

}

}

for(int i=1;i<2;i++){

ch=(int)(Math.random()*16+1);

}

}

for(int i=0;i<cho.length;i++){

for(int j=(i+1);j<cho.length;j++){

if(cho[j]<cho[i]){

cho[i]=cho[i]^cho[j];

cho[j]=cho[i]^cho[j];

cho[i]=cho[i]^cho[j];

}

}

}

for(int i=0;i<last.length;i++){

if(i<last.length-1){

last[i]=cho[i];

}

if(i==(last.length-1)){

last[i]=ch;

}

}

System.out.print("你选择的号码是:");

for(int i=0;i<last.length;i++){

System.out.print(last[i]+" ");

}

int[]com=new int[7];

int[]com1=new int[6];

int com2=0;

for(;;){//由死循环控制一直开奖

num++;//由num计数开奖次数,同时等同于购买彩票次数

for(int i=0;i<com1.length;i++){

com1[i]=(int)(Math.random()*33+1);

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

if(com1[i]==com1[j]){

i--;

}

}

}

for(int i=1;i<2;i++){

com2=(int)(Math.random()*16+1);

}

for(int i=0;i<com1.length;i++){

for(int j=(i+1);j<com1.length;j++){

if(com1[j]<com1[i]){

com1[i]=com1[i]^com1[j];

com1[j]=com1[i]^com1[j];

com1[i]=com1[i]^com1[j];

}

}

}

for(int i=0;i<com.length;i++){

if(i<com.length-1){

com[i]=com1[i];

}

if(i==(com.length-1)){

com[i]=com2;

}

}

int count=0;//此处往上代码与,上题同理,此处count用于计数红球中奖个数

int count1=0;//此处用于确定蓝球是否中奖

for(int i=0;i<cho.length;i++){

for(int j=0;j<cho.length;j++){//红球中奖一个则count增加一

if(com1[i]==cho[j]){

count++;

}

}

}

if(ch==com2){//蓝球中奖则count1为1

count1=1;

}

if(count1==1){

switch(count){//pay记载每注中奖得金额合计

case 0:

case 1:

case 2:pay+=5;break;

case 3:pay+=10;break;

case 4:pay+=200;break;

case 5:pay+=3000;break;

case 6:break;

}

}

else if(count1==0){

switch(count){

case 4:pay+=10;break;

case 5:pay+=200;break;

case 6:pay+=500000;break;

default:break;

}

}

if(count1==1&&count==6){//中一等奖时红球count为6,count1为1,此时输出花掉的钱num*2,购买次数num,以及累计中奖金额。

System.out.println("恭喜中得一等奖\n你总共买了彩票"+num+"次");

System.out.println("总共中奖得钱:"+pay);

System.out.println("总共花钱:"+num*2);

break;

}

}

时间: 2024-12-18 19:46:03

数组以及模拟双色球开奖的相关文章

java基础知识应用--双色球开奖号码

双色球是中国福利彩票的玩法,双色球分为红色球号码区和蓝色球号码区,红色球号码区由1-33共33个号码组成,蓝色球号码区由1-16共16个号码组成,开奖号码由6个不重复的红色球号码和1个蓝色球号码共7个数组成. 首先要设置三个数组来分别保存所有球的号码.抽取红球的号码和标记抽取球的号码,然后抽取不重复的随机的6个红色球号码和1个蓝色球号码,最后给红色球排序与蓝色球一起输出.需要注意的是号码是01-33,因此1-9的值要补"0". import java.util.Arrays; impo

中国福利彩票,牛B,开奖和数据传输有什么关系?

昨天,由中国教育电视台直播的福利彩票“双色球”15011期开奖,在没有事先预告的情况下突然取消.晚上11点40分左右,中国福利彩票发行管理中心唯一指定网络信息发布媒体——中彩网官方微博出乎意料地在网上公布了双色球15011期的中奖号码. 据了解,双色球由中国福利彩票发行管理中心统一组织发行,2003年2月16日起在全国联网销售,目前在每周二.四.日的21:30开奖.本应于昨晚9点30分在中国教育电视台直播开奖的本期双色球为第15011期,也是2014年“双色球5亿派奖”的最后一期.“5亿派奖”是

Shell练习获取彩票开奖结果

思路: 首先通过curl得到页面的代码,再分析代码通过sed和awk获得开奖号,再格式化输出! 脚本: #!/bin/bash if [ "x$1" == "x" ]; then     curl -o file.html  http://www.cwl.gov.cn/ > /dev/null 2>&1     if [ $? -eq 0 ]; then       qishu=`cat file.html|sed -n '/<li cla

模拟双色球彩票开奖结果:随机生成一注双色球彩票.......

模拟双色球彩票开奖结果:随机生成一注双色球彩票,判断其是否中奖,奖金为多少.一注双色球彩票由6个不重复的红球(序号:1~32)和1个篮球(序号:1~16)构成.双色球中奖规则如下: (提示:① 随机数:java.util.Random中的Random类有一个方法int nextInt(int n)可以生成0~n的一个随机整数.(教材P202页)② java.util.Arrays的常用方法:Arrays.sort(a); //将数组a中的元素按升序排列:Arrays.binarySearch(a

用循环与数组模拟双色球彩票中奖

String ji="机选"; String zi="自选"; System.out.println("请问机选还是自选?"); String my=wx.next(); int []a=new int[7];//用户买的号码记录的数组 //自选时的用户彩票 if(my.equals(zi)){ for(int i=0;i<a.length;i++){ //蓝球的输入 if(i==6){ System.out.println("请

应用案例之模拟双色球彩票

应用案例之模拟双色球彩票 1.双色球彩票的玩法: 双色球投注区分为红色球号码区和蓝色球号码区,红色球号码范围为01-33,蓝色球号码范围为01-16. 双色球每期从33个红球中开出6个号码,从16个蓝球中开出1个号码作为中奖号码,双色球玩法即是竞猜开奖号码的6个红球号码和1个蓝球号码,顺序不限

自动更新开奖数据的excel文件,供大家下载

自动更新开奖数据的excel文件,供大家下载 2010-03-14 20:22 228492人阅读打印来源:乐彩网 作者:eren 很多人拥有自制excel电子表格,常要更新最基本的开奖信息.如有多期未更新,则费时更多.乐彩网为大家提供八种彩票的自动更新文件,供下载.您只需点击更新按钮,就能得到最及时全面的开奖信息,省时省力. 2011年10月12日修改说明:已更新全部开奖数据.福彩3Dexcel文件中,因描述更新范围的高度小了,导致更新后,最下面内容会右移.如此文件单独存在,请直接下载.如已将

时时彩开奖采集 时时彩开奖软件的问题

现在很多开奖采集的软件不能用了,原因是采集源封了采集的端口,只能浏览器打开不能用采集软件打开,所以问题的难点就在于: 1.发封包模拟浏览器获取开奖信息. 2.使用WebBrowser获取开奖信息,但是不能使用多线程,就算用委托也不可以. 所以只要解决了以上两个问题,采集就没什么问题. 有问题的可以加我QQ:549341762讨论.

php采集彩票开奖数据

前言:由于刚刚接触curl函数,觉得功能强大,于是从网上搜索教程自己写了个抓取图片的方法.第二天想继续练练手,就去500彩票网站抓彩票的开奖数据.结果折腾了半天也采集不到,在网上查询了半天也没有找到.于是自己着手写了一下,代码仅供参考 开奖地址:http://kaijiang.500.com/ssc.shtml 本人使用火狐浏览器,F12开启调试模式,点击Network,点击XHR 此时,F5刷新页面,获取接口地址 接口地址:http://kaijiang.500.com/static/publ