Java使用do while实现猜数字游戏

  Scanner scanner = new Scanner(System.in);

        System.out.println("现在开始游戏?(Y/N)");
        String choice;

        do {
            choice = scanner.nextLine().toUpperCase();

            while (!choice.equals("Y") && !choice.equals("N")) {
                System.out.println("输入有误,请重新输入: ");
                choice = scanner.nextLine().toUpperCase();
            }

            if (choice.equals("N")) {
                System.out.println("已退出");
                System.exit(0);
            }
            //生成一个1-100的目标数字
            int target = (int) (Math.random() * 100 + 1);
            int number;
            int times = 1;

            do {
                System.out.print("请输入猜想的数字(1-100): ");
                number = scanner.nextInt();
                scanner.nextLine(); // Consume the newline character

                if (number > target) {
                    System.out.println("猜大了");
                } else if (number < target) {
                    System.out.println("猜小了");
                } else {
                    System.out.println("猜对了!本次猜对所用次数为" + times + "次");
                    times = 1;
                    break;
                }

                times++;
            } while (true);

            // 处理是否要继续游戏的选择
            System.out.println("是否要继续游戏?(Y/N)");
            choice = "";
            if (!scanner.hasNextLine()) {
                System.out.println("已退出");
                System.exit(0);
            }
            choice = scanner.nextLine().toUpperCase();

            while (!choice.equals("Y") && !choice.equals("N")) {
                System.out.println("输入有误,请重新输入: ");
                choice = scanner.nextLine().toUpperCase();
            }

        } while (!choice.equals("N"));

        System.out.println("已退出");
    }

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值