黑马程序员技术交流社区
标题:
分享一道题~
[打印本页]
作者:
Fate_stay
时间:
2016-9-16 22:55
标题:
分享一道题~
package cn.itcast.day21_Prictice;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
/**
* 彩票小程序,要求如下:
3. 随机生成6个0-15(包含0和15)的数字,作为彩票的中奖号码,要求最终的中奖号码没有重复数字
4. 键盘录入6个0-15(包含0和15)的数字,比较录入的数字和中奖号码相同的个数
小于3个,没有中奖
当3个一样,中三等奖
当4个一样,中二等奖
当5个一样,中一等奖
当全部一样,中特等奖
在控制台打印中奖结果,样式如下:
"您的号码为XX,XX,XX,XX,XX,XX,中了X等奖,恭喜您!"或者
"您的号码为XX,XX,XX,XX,XX,XX,没有中奖!"
* */
public class Prictice8 {
public static void main(String[] args) {
Random r = new Random();
// 创建一个set集合,用来装随机数
HashSet<Integer> set = new HashSet<>();
// 当不满足条件时,跳出循环
while(set.size() != 6) {
int ball = r.nextInt(16);
set.add(ball);
}
printBinGo(set);
System.out.println("中奖号码为:"+ set);
}
public static void printBinGo(HashSet<Integer> set) {
Scanner sc = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<>();
System.out.println("请输入6个0-15的数字");
for(int i = 0; i <= 5; i++) {
int userNum = sc.nextInt();
list.add(userNum);
}
// 定义临时变量,用来记录相同的个数
int temp = 0;
// 两个for循环遍历
for (Integer integer : set) {
for(int j = 0; j <= 5; j++) {
if(list.get(j) == integer) {
temp++;
}
}
}
switch(temp) {
// 注: switch , case 不要忘记break
case 3:
System.out.println("您的号码为"+list+"中了三等奖,恭喜您!");
break;
case 4:
System.out.println("您的号码为"+list+"中了四等奖,恭喜您!");
break;
case 5:
System.out.println("您的号码为"+list+"中了五等奖,恭喜您!");
break;
case 6:
System.out.println("您的号码为"+list+"中了特等奖,恭喜您!");
break;
default:
System.out.println("您的号码为"+list+"没有中奖!");
break;
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2