题目
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
使用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("彩票作废");
}
}
}