双色球小程序(关于对数组的使用)

package 双色球;

import java.util.Scanner;

public class 双色球 {	
	public static void main(String args[]) {
		Scanner sr=new Scanner(System.in);
		int []balls=new int[7];
		int count=0;
		boolean isBye=false;
		
		while(true) {
		System.out.println("--------------欢迎进入双色球系统-----------------------");
		System.out.println("1.-------请输入你要买入双色球");
		System.out.println("2.-------查看是否中奖,");
		System.out.println("3.-------退出");
		System.out.println("请选择你要完成的功能:");
		int choose=sr.nextInt();
		
		switch(choose) {
		case 1:
			System.out.println("双色球系统购买彩票");
			System.out.println("请你选择要购买几注: ");
			count=sr.nextInt();
			
			for(int i=1;i<=7;i++) {
				if(i!=7) {
					System.out.println("请录入第"+i+"个红球");
					int redBalii=sr.nextInt();
					balls[i-1]=redBalii;
				}else {
					System.out.println("请录入一个蓝球");
					int blueBall=sr.nextInt();
					balls[6]=blueBall;
				}
			}
			System.out.println("您购买了"+count+"注彩票,一共消费了"+count*2+"元钱,你购买的彩票号额为:");
			for(int num:balls) {
				System.out.print(num+"\t");
			}
			System.out.println();
			isBye=true;
			break;
		case 2:
			if(isBye=true) {
			int[] luckBall= GetLuckBall();
			int level=getLevel(balls,luckBall);
			
			switch(level) {
			case 1:
				System.out.println("恭喜你,中了1等奖,1注奖金500万,您一共获得"+500*count+"万元");
				break;
			case 2:
				System.out.println("恭喜你,中了2等奖,1注奖金100万,您一共获得"+100*count+"万元");
				break;
			case 3:
				System.out.println("恭喜你,中了3等奖,1注奖金30万,您一共获得"+30*count+"万元");
				break;
			case 4:
				System.out.println("恭喜你,中了4等奖,1注奖金5万,您一共获得"+5*count+"万元");
				break;
			case 5:
				System.out.println("恭喜你,中了5等奖,1注奖金2000元,您一共获得"+2000*count+"元");
				break;
			case 6:
				System.out.println("恭喜你,中了6等奖,1注奖金5元,您一共获得"+5*count+"元");
				break;
			}
			System.out.println("双色球系统查看开奖");
			}else {
				System.out.println("对不起,请先购买彩票!");
			}
			break;
		case 3:
			System.out.println("双色球系统退出");
			return;
		}
	}
}
	
	//定义一个方法,专门用来生成中间号码
	public static int[] GetLuckBall() {	
		//int[] luckBall= {1,2,3,4,5,6,7};
		 int[] luckBall=new int[7];
		 for(int i=1;i<=7;i++) {
			 if(i!=7) {
				 luckBall[i-1]=(int)(Math.random()*33+1);
			 }else {
				 luckBall[6]=(int)(Math.random()*16+1);
			 }
		 }
		return luckBall;
	}

	//定义一个方法,专门比较购买号码和中奖号码;
	public static int getLevel(int[] balls,int[] luckBall) {
		int level=0,redCount=0, blueCount=0;
	
		for(int j=0;j<=5;j++) {
			if(balls[j]==luckBall[j]) {
				redCount++;
			}
		}
			
			if(balls[6]==luckBall[6]) {
				blueCount++;
		}
		System.out.println("红球有"+redCount+"个相等");
		System.out.println("蓝球有"+blueCount+"个相等");
		
		if(redCount==6&&blueCount==1) {
			level=1;
		}else if(redCount==6) {
			level=2;
		}else if(redCount==5&&blueCount==1) {
			level=3;
		}else if(redCount==5||(redCount==4&&blueCount==1)) {
			level=4;
		}else if(redCount==4||(redCount==3&&blueCount==1)) {
			level=5;
		}else {
			level=6;
		}
		return level;
	}
}

在这里插入图片描述

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
http://blog.sina.com.cn/s/blog_4cd4ffc401018xbx.html vb编写双色球号码生成小程序源码 需要3个label,用来显示相应信息;两个文本框,一个显示生成的号码,一个用来设置号码数量;两个按钮,一个用来开始生成,一个用来复制生成的号码。完整代码如下: '首先声明一个生成号码的函数用于调用 Sub 生成() 'vb的函数名称可以用汉字的,呵呵 Dim n(1 To 33), i, j, q, p '定义变量 For i = 1 To 33 n(i) = 0 Next j = 0 Randomize Timer '防止随机数重复 While j < 6 '生成6个红球号码 q = Int(Rnd(1) * 33 + 1) '红球号码为01到33 If q < 10 Then '判断是否是小于10 q = 0 & q '小于10则在前面加0 End If If n(q) = 0 Then Text1.Text = Text1.Text & q & " " '生成后写入文本框,各球中间用1个空格隔开 n(q) = 1 j = j + 1 End If Wend '红球已经生成完毕了,下面是蓝球,同红球 Randomize Timer p = Int(Rnd(1) * 16 + 1) If p < 10 Then '判断是否是小于10 p = 0 & p '小于10则在前面加0 End If Text1.Text = Text1.Text & " " & p & vbCrLf '红球和蓝球联合起来,用两个空格隔开,末尾加上换行符,以便于生成多个号码 End Sub Private Sub Command1_Click() '使用Clipboard来实现复制到剪贴板功能 Clipboard.Clear Clipboard.SetText Text1.Text End Sub Private Sub Command2_Click() '我们在界面加上一个显示生成时间的小东西 Dim s, t, k s = Timer '开始生成 Text1.Text = "" '先清空文本框 k = 0 While k < Val(Text2.Text) '按照需要来生成所需数量的号码 Call 生成 k = k + 1 Wend t = Timer '生成结束 Label2.Caption = "用时" & t - s & "秒" '显示生成时间 End Sub Private Sub Form_Load() '在load里面设置一下文本框内容 Text1.Text = "" Text2.Text = 5 End Sub

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Respect@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值