利用Java解决猜数字问题

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

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

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;
    }
}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

import java.util.Random;
import java.util.Scanner;

public class Guess {

	public static void main(String args[]) throws MyExcept
	{
		int num,guess=0;
		Random rnd = new Random();
		num = rnd.nextInt(100);
		Scanner input = new Scanner(System.in);
		for(int i=1;i<5;i++)
		{
			
			System.out.println("请输入一个数字:");
			try {
				guess = input.nextInt();
			}catch(Exception e) {
				throw new MyExcept("只能是1~100之间的数字。");
			}
			if(num>guess){
				System.out.println("你输入的数字太小了,请重新输入\n");	
			}else if(num<guess){
				System.out.println("你输入的数字太大了,请重新输入\n");			
			}else {
				System.out.println("恭喜你猜对了,一共猜了"+i+"次");
				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;
	}
}