模拟双色球

news/2024/11/29 1:42:49/

一、需求

1.随机生成一组中奖号码
2.用户输入一组双色球号码
3.判断中奖情况
4.中奖号码由6个红球(1-33)和1个蓝球(1-16)组成(6个红球不能重复)

 二 ,代码

package lianxi;import java.util.Random;
import java.util.Scanner;public class Test11 {public static void main(String[] args) {//1.生成中奖号码int[] arr = creatNumber();System.out.println("===================");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}System.out.println();//2.用户输入彩票号码int[] userInputArr = userInputNumber();//3.判断用户的中奖情况//红球 蓝球int redCount = 0;int blueCount = 0;//判断红球for (int i = 0; i < userInputArr.length-1; i++) {int redNumber = userInputArr[i];for (int j = 0; j < arr.length - 1; j++) {if (redNumber == arr[j]) {redCount++;//如果找到了 那么后面的数字就没必要继续比较了//跳出内循环, 继续循环下一个红球号码是否中奖break;}}}//判断蓝球int blueNumber = userInputArr[userInputArr.length - 1];if (blueNumber ==  arr [arr.length - 1]) {blueCount++;}//根据红球的个数及蓝球的个数判断中奖情况if (redCount == 6 && blueCount == 1) {System.out.println("恭喜你 中奖1000万");} else if (redCount == 6 && blueCount == 0) {System.out.println("恭喜你 中奖500万");} else if (redCount == 5 && blueCount == 1) {System.out.println("恭喜你 中奖3000元");} else if ((redCount == 5 && blueCount == 0) || (redCount == 4 && blueCount == 1)) {System.out.println("恭喜你 中奖200元");} else if ((redCount == 4 && blueCount == 0) || (redCount == 3 && blueCount == 1)) {System.out.println("恭喜你 中奖10元");} else if ((redCount == 2 && blueCount == 1) || (redCount == 1 && blueCount == 1) || (redCount == 0 && blueCount == 1)) {System.out.println("恭喜你 中奖5元");} else {System.out.println("谢谢惠顾");}}public static int[] userInputNumber() {//1.创建数组用于添加购买的彩票号码//6个红球 1个蓝球 数组长度7int[] arr = new int[7];Scanner in = new Scanner(System.in);//输入红球号码for (int i = 0; i < 6; ) {System.out.print("请输入第" + (i + 1) + "个红球号码: ");int redNumber = in.nextInt();//redNumber 1~33 唯一不重复if (redNumber >= 1 && redNumber <= 33) {boolean flag = contains(arr, redNumber);if (!flag) {//不存在//有效的 可以添加到数组中arr[i] = redNumber;i++;} else {System.out.println("当前红球号码已经存在, 请重新输入");}} else {System.out.println("当前红球号码超出范围");}}//输入蓝球号码System.out.print("输入蓝球号码: ");//1-16while (true) {int blueNumber = in.nextInt();if (blueNumber >= 1 && blueNumber <= 16) {arr[arr.length - 1] = blueNumber;break;} else {System.out.println("当前蓝球号码超出范围");}}return arr;}public static int[] creatNumber() {//1.创建数组用于添加中奖号码//6个红球 1个蓝球 数组长度: 7int[] arr = new int[7];//2.随机生成号码并添加到数组当中//红球不能重复 1 2 3 4 5 6//蓝球 可以和红球号码重复//生成红球号码并添加到数组当中Random r = new Random();for (int i = 0; i < 6; ) {//获取红球号码int redNumber = r.nextInt(33) + 1;boolean flag = contains(arr, redNumber);if (!flag) {//把红球号码添加到数组当中arr[i] = redNumber;i++;}}//生成蓝球号码并添加到数组中int blueNumber = r.nextInt(16) + 1;arr[arr.length - 1] = blueNumber;return arr;}//用于判断数字在数组中是否存在private static boolean contains(int[] arr, int number) {for (int i = 0; i < arr.length; i++) {if (arr[i] == number) {return true;}}return false;}}

三 ,运行结果

 


http://www.ppmy.cn/news/179972.html

相关文章

Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)

by fanxiushu 2019-06-24 转载或引用请注明原始作者。 这里与远程桌面关系不是太大,但这个部分是xdisp_virt远程控制程序的实现多显示器桌面扩展的子功能,因此也归为远程桌面开发一类。 这篇文章与之前发布的https://blog.csdn.net/fanxiushu/article/details/82731673 WIN7…

低分辨率的显示器模拟高分辨率显示模式

我的上网本只有1024x768的分辨率&#xff0c;运行文华6要求更高分辨率显示器。 通过对显示器安装驱动&#xff0c;获得虚拟的高分辨率支持。 1、打开显示器的属性&#xff0c;选择&#xff1a;设置->高级->监视器&#xff1b;2、这里我们可以看到监视器类型是默认的”即插…

windows虚拟显示器开发(三)USB显示器

我们常用的显示器接口有HDMI、VGA等接口&#xff0c;这些接口是直接在显卡上的&#xff0c;当显示器插在显卡上&#xff0c;显卡就直接可以将显示信号输出到显示器了。 关于USB显示器跟HDMI之类的显示器有本质区别&#xff0c;我们需要实现的有两个&#xff1a; 在USB上插入一…

模拟——显示器

显示器 你的一个朋友买了一台电脑。他以前只用过计算器&#xff0c;因为电脑的显示器上显示的数字的样子和计算器是不一样&#xff0c;所以当他使用电脑的时候会比较郁闷。为了帮助他&#xff0c;你决定写一个程序把在电脑上的数字显示得像计算器上一样。 Input 输入包括若干行…

虚拟显示器软件(win10及以上)

​ Starting with version 2, the virtual monitor supports the following display resolutions by default: 默认的显示为 1920 * 1080 &#xff08;1k&#xff09;&#xff0c;版本2可以通过配置更改为4k。 1024 x 768 pixels 1360 x 768 pixels 1440 x 900 pixels 1600 …

手机作为显示器及键鼠控制电脑棒(by quqi99)

版权声明&#xff1a;可以任意转载&#xff0c;转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 (作者&#xff1a;张华 发表于&#xff1a;2019-04-14) 买了一款Intel compute stick core m3, 具有HDMI接口输出音频, 但如何使用手机临时地作为显示器及键盘鼠…

LCD显示器的模拟和数字接口

LCD显示器的模拟和数字接口 1 模拟接口 模拟和数字视频信源已经存在了很长时间&#xff0c;模拟视频常用于台式机&#xff0c;而数字视频则在笔记本电脑中比较流行。当前大量计算机使用的模拟视频输出&#xff0c;因此保证了模拟接口支持能够满足未来几年的需求。但是最近…

redis第三章-redis集群redisCluster

1.redis集群模式比较 &#xff08;1&#xff09;哨兵模式 哨兵模式是利用哨兵来做主从切换的&#xff0c;当主节点发生故障的时候&#xff0c;通过哨兵去选取出一个从节点作为主节点&#xff0c;但本身哨兵的配置还是有些麻烦&#xff0c;并且实际上哨兵的性能和高可用性一般…