猜数游戏,随机生成一个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;
}
}