java 彩票游戏

在这里插入图片描述

  • 要求

1.假设你想开发一个玩彩票的游戏,程序随机地产 生一个两位数的彩票,提示用户输入一个两位 数,然后按照下面的规则判定用户是否能赢。 1)如果用户输入的数匹配彩票的实际顺序,奖金 10 000美元。 2)如果用户输入的所有数字匹配彩票的所有数 字,但顺序不一致,奖金 3 000美元。 3)如果用户输入的一个数字仅满足顺序情况下匹 配彩票的一个数字,奖金1 000美元。 4)如果用户输入的一个数字仅满足非顺序情况下 匹配彩票的一个数字,奖金500美元。 5)如果用户输入的数字没有匹配任何一个数字, 则彩票作废。

            int cp = 0;
            
            int r = new Random().nextInt(99 - 10 + 1) + 10;
            
            System.out.println("本次中奖的号码为" + r);

            System.out.println("请输入一个俩位数");

            int input = scanner.nextInt();
            if (input < 10 || input > 99) {
                System.out.println("请输入10-99");
                return;
            }
            int sw = r / 10; //随机数十位
            int gw = r % 10;//随机数个位


            int s = input / 10;  //输入数十位
            int g = input % 10;  //输入数个位

            if (r == input) {
                cp = 10000;
            } else if ((gw == g || sw == s) && (gw == s || sw == g)) {
                cp = 3000;
            } else if (sw == s || gw == g) {
                cp = 1000;
            } else if ((gw == g || sw == s) || (gw == s || sw == g)) {
                cp = 500;
            } else {
                System.out.println("您的彩票作废了请重新购买");
            }
            System.out.println("你的奖金为" + cp);

2.使用双重循环打印20 * 8的矩形,使用for循环实现

 for (int i = 0; i < 8; i++) {
                for (int j = 0; j < 20; j++) {
                    //当打印第二行 第三行 第四行的到时候 需要用空格替换
                    //这块 只需要判断当前是第几行
                    if (i == 1 || i == 2 || i == 3 || i == 4 || i == 5 || i == 6) {
                        //但是这块 我们需要留着每行 行首和行尾的字符
                        //j 来控制  每行的  字符的个数
                        if (j > 0 && j < 19) {
                            System.out.print("  ");
                            continue;
                        }
                        System.out.print("* ");
                        continue;
                    }

                    System.out.print("* ");
                }
                System.out.println();
            }

3.3000米长的绳子,每天减一半。问多少天这 个绳子会小于5米?不考虑小数。

两种方式

 int day = 0;
            int n = 3000;
            while (n >= 5) {
                day++;
                n = n >> 1;
            }
            System.out.println("第" + day + "天绳子符合要求");

------------------------------------------------------------

      int day=0;
        for (int i = 3000; i >= 5; i/=2) {
            day++;
        }
        System.out.println("第"+day+"天绳子符合要求");

4.两个对象a和b,请问a==b和a.equals(b)有什么区别?

答:如果 a 和 b 都是对象,则 a==b 是比较两个对象的引用,只有当 a 和 b 指向的是堆中的同一个对象才会返回 true,而 a.equals(b) 是进行逻辑比较,当内容相同时,返回true,所以通常需要重写该方法来提供逻辑一致性的比较。例如,String 类重写 equals() 方法,所以可以用于两个不同对象,但是包含的字母相同的比较。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值