Doflying223 2021-05-13 23:16 采纳率: 100%
浏览 72
已采纳

利用Java解决猜数字问题

猜数游戏,随机生成一个1 到100之间的整数,从键盘输入数字进行猜数,一共可以猜5次,如果猜小了在
控制台输出猜小了,如果猜大了,在控制台输出猜大了,如果猜
对了在控制台输入 恭喜你猜对了,并结束游戏。 注意当输入的不是数字或数字不合服规则时,不算次数

提示:利用自定义异常操作

  • 写回答

3条回答 默认 最新

  • Doflying223 2021-05-14 16:56
    关注
    package com.cn.day.eight;
    
    import java.util.Random;
    import java.util.Scanner;
    
    public class Demo10 {public static void main(String[] args) throws MyExcept {
        //需求:
        //1.猜五次   输入的数据有误  或者不是1~100之间的不算次数
        //2.当前猜测的数据跟随机数比较
    
        Scanner sc = new Scanner(System.in);
        Random r = new Random();
        int i = r.nextInt(100) + 1;
        System.out.println("---------------->>"+i);
        //定义计数器
        int count = 0;
        while(true){
            if(count == 5){
                break;
            }
    
            System.out.println("请输入一个0~100的数字");
            int x = 0;
            try {
                x = sc.nextInt();//111absb回车
                if (! (x>=1 &&x<=100))
                    throw new MyExcept("只能是1~100之间的数字。");
    
            } catch (Exception e) {
                //死循环的原因:
                //当你使用nextint来收集int类型的数据的时候
                //如果你输入的信息不满足纯数字[123abc],默认在后面多加了一个回车键
                sc.nextLine();
                System.out.println(e.getMessage());
                continue;
            }
            if(x>i){
                System.out.println("大了");
                count++;
            }else if(x<i){
                System.out.println("小了");
                count++;
            }else{
                System.out.println("猜对了");
                break;
            }
    
        }
    }
    }
    class MyExcept extends Exception{
        private String msg;
        public MyExcept(){
    
        }
        public MyExcept(String msg){
            super(msg);
            this.msg = msg;
        }
        @Override
        public String getMessage() {
    
            return "出错了:" + msg;
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?