第五站第三十二题(游戏:彩票)

本文介绍了一个Java程序案例,用于生成不重复数字的两位数彩票,并与用户输入进行比对,根据匹配情况给予奖励。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述:

修改程序清单3-8,产生一个两位数的彩票。这两位数是不同的。
提示:产生第一个数,使用循环不断产生第二个数,直到它和第一个数不同为止。

public class E3_12 {
    public static void main(String[] args) {
        //程序随机产生一个两位数
        int lottery = (int) (Math.random() * 100);
        
        //直到第一个数和第二个数不相等时就不再随机产生了,若依然相等则就继续进入循环随机产生。
        while (lottery % 10 == lottery / 10) {
            lottery = (int) (Math.random() * 100);
        }

        //提示用户输入一个两位数
        System.out.println("Please enter your guess: ");
        Scanner input = new Scanner(System.in);
        int guess = input.nextInt();
        
        //获取各位数字;%获取个位,/获取十位
        int lottery1;
        int lottery2;
        int guess1;
        int guess2;
        if (lottery < 10) {
            lottery1 = lottery;
            lottery2 = 0;
        } else {
            lottery1 = lottery % 10;
            lottery2 = lottery / 10;
        }
        if (guess < 10) {
            guess1 = guess;
            guess2 = 0;
        } else {
            guess1 = guess % 10;
            guess2 = guess / 10;
        }

        //接下来判断; money表示奖金
        int money; 
        if (lottery1 == guess1 && lottery2 == guess2) {
            money = 10000;
        } else if ((lottery1 == guess1 || lottery1 == guess2) && (lottery2 == guess1 || lottery2 == guess2)) {
            money = 3000;
        } else if (lottery1 == guess1 || lottery1 == guess2 || lottery2 == guess1 || lottery2 == guess2) {
            money = 1000;
        } else {
            money = 0;
        }
        System.out.println("you win: " + money);
    }
}

知识点:
1.产生随机数,Math.random()方法
random()方法:产生大于等于0.0小于1.0的double型随机数(0.0 <= Math.random() < 1.0)
2.数值类型转换
语法:(目标类型)要转换的变量名或值
例如:(int)1.7 转换后为 1

**扩展类型:**范围较小的转换为范围较大的,java可以自动转换
例如:int --> double:34.5等同于3.04.5
**缩小类型:**范围较大的转换为范围较小的,必须显式完成

区别:
语句 System.out.println((double) 1 / 2)); 显示结果为0.5.因为1首先被转换为1.0,然后用2除以1.0。浮点数除以整数结果依然是浮点数。
语句 System.out.println(1 / 2); 显示结果为0,因为1和2都是整数,结果也应为整数
3.数值类型
整型:byte、short、int、long
浮点型:float(单精度)、double(双精度)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值