java 彩票游戏

题目

java 彩票游戏

Math.random()获取随机数

Math.random()返回的是一个[0.0,1.0)的doule类型的数
所以,获取0-9:(int)Math.random()*10–> [0,10)
获取0-10:(int)Math.random()*10+1–> [0,11)
获取10-99:(int)Math.random()90+10–> [10,100)
公式:
[a,b]: (int)Math.random()
(b-a+1)+a

java 彩票游戏

使用charAt()获取字符串的字符

由于要每个数字都进行比较,所以使用String类型并使用charAt(i)获取第i个位置上字符串的字符

String ticket=scan.next();
//获取第一和第二个数字
char t1=ticket.charAt(0);
char t2=ticket.charAt(1);

代码

import java.util.Scanner;
class PlayTicket {
	public static void main(String[] args) {
/*
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入
一个两位数,然后按照下面的规则判定用户是否能赢。
如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。
如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金 3 000美元。
如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。
如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。
如果用户输入的数字没有匹配任何一个数字,则彩票作废。
*/

	//10-99
	String prize=(int)(Math.random()*90+10)+"";
	System.out.println("本期奖金号码为:"+prize);
	char p1=prize.charAt(0);
	char p2=prize.charAt(1);
	Scanner scan=new Scanner(System.in);
	System.out.println("请输入彩票号码:");
	String ticket=scan.next();
	//获取第一和第二个数字
	char t1=ticket.charAt(0);
	char t2=ticket.charAt(1);
		if((t1==p1)&&(t2==p2)){
			System.out.println("奖金10,000美元");
		}else if((t1==p2)&&(t2==p1)){
			System.out.println("奖金3000美元");
		}else if((t1==p1)||(t2==p2)){
			System.out.println("奖金1000美元");
		}else if((t1==p2)||(t2==p1)){
			System.out.println("奖金500美元");
		}else{
			System.out.println("彩票作废");
		}
      
	}
}

上一篇:Leetcode——500. 键盘行(Java)


下一篇:递归练习:计算整数的各位数字之和