猜数游戏,随机生成一个1 到100之间的整数,从键盘输入数字进行猜数,一共可以猜5次,如果猜小了在
控制台输出猜小了,如果猜大了,在控制台输出猜大了,如果猜
对了在控制台输入 恭喜你猜对了,并结束游戏。 注意当输入的不是数字或数字不合服规则时,不算次数
提示:利用自定义异常操作
猜数游戏,随机生成一个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;
}
}