彩票中奖java程序 随机30选7_写一个彩票程序:30选7

1. 写一个彩票程序:30选7。随机(1~30之间)生成7个随机数,注意不能重复。然后从键盘输入7个数,对比7个数是否与随机数有相同的。最后显示“中了几个号”。同时,如果中了7个号,显示一等奖;如果中了6个号,显示二等奖;如果中了5个号,显示三等奖。要求:首先写出程序的实现思想,特别是程序所使用的数据结构,然后写出Java实现代码。【说明:键盘输入可以使用Scanner类】

import java.util.HashMap;

import java.util.Hashtable;

import java.util.Iterator;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Scanner;

public class Lottery {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.print("Please input the range of the random number:");

int n=sc.nextInt();//定义生成随机数的范围;

System.out.print("Please input the amount of the random number:");

int m=sc.nextInt();//定义生成随机数的个数;

HashMap map=new HashMap();

for(int i=0;i

{

int number=0;

do

{

number=(int)(Math.random()*n)+1;//

}while(map.containsKey(number));//如果出现过,继续循环;

map.put(number,1);//将number位置的value赋值为1;

}

System.out.print("Please input your "+m+" number(no repeat):");

int flag=0;

for(int i=0;i

{

int number=sc.nextInt();

if(map.containsKey(number))//如果number处的value不为空,则表示猜中;

flag++;

}

System.out.print("The random number is:");

Iterator> it=map.entrySet().iterator();

while(it.hasNext())//输出随机生成的值,可以没有、、、、、

{

Map.Entry entry=(Entry) it.next();

System.out.print(entry.getKey()+" ");

}

System.out.println("nYou guessed "+flag+"!");

if(flag==m)

System.out.println("Congratulations,you win the first prize!");

else if(flag==(m-1))

System.out.println("Congratulations,you win the second prize!");

else if(flag==(m-2))

System.out.println("Congratulations,you win the third prize!");

else

System.out.println("I`m sorry,you can`t win the prize!");

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值