【尚硅谷-Java学习】Math.random()方法

Math.random()方法

随机生成[0.0,1.0]之间的double类型的数字

公式

生成范围在[a,b]之间的随机整数的公式(int)(Math.random() * (b-a+1) + a)

例题

随机生成两位数的彩票中奖号码,用户输入一个两位数,(1)与中奖号码一致奖励10000美元;(2)数字与中奖号码相同但顺序不一致奖励3000美元;(3)只有一个数字与中奖号码相同且位置一致奖励1000美元;(4)只有一位数字与中奖号码相同但位置不一致奖励500美元;(5)其他情况彩票作废。

import java.util.Scanner;

class Lottery {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int lotteryNumber = scan.nextInt();
		
		//生成范围在[a,b]的随机数:(int)(Math.random() * (b-a+1) + a)
		int winningNumber = (int)(Math.random() * (99-10+1) + 10);
		
		if (lotteryNumber>99 || lotteryNumber<10){
			System.out.println("彩票号码不规范");
			
		}else{
			int loSingle = lotteryNumber%10;
			int loDecade = lotteryNumber/10;
			int winSingle = winningNumber%10;
			int winDecade = winningNumber/10;
		

			 if (lotteryNumber==winningNumber){
				//完全一致
				System.out.println(winningNumber);
				System.out.println("奖金10000美元");
			}else if (loSingle==winDecade && loDecade==winSingle){
				//顺序相反
				System.out.println(winningNumber);
				System.out.println("奖金3000美元");
	
			}else if (loSingle==winSingle || loDecade==winDecade){
				System.out.println(winningNumber);
				System.out.println("奖金1000美元");
	
			}else if (loSingle==winDecade || loDecade==winSingle){
				//非顺序情况下一个数字相等
				System.out.println(winningNumber);
				System.out.println("奖金500美元");
	
			}else{
				System.out.println(winningNumber);
				System.out.println("无奖金,彩票作废");
			}
		}
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值