public class Csz {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Random r=new Random();
int a=r.nextInt(1000);
System.out.println("---------猜数字游戏--------");
System.out.println("\t范围:1~1000");
System.out.println("请输入一个数字");
while(true){
try{
int b=sc.nextInt();
if(b>0&&b>a){
System.out.println("太大了,小一点");
}else if(b>0&&b System.out.println("太小了,大一点");
}else if(b>0&&b==a){
System.out.println("恭喜你,答对了");
break;
}else if(b System.out.println("请输入正整数");
}else if(b>1000){
System.out.println("请输入1~1000的整数");
}
}catch(InputMismatchException e){
System.out.println("请输入数字");
}
}
}
}
public class Csz {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Random r=new Random();
int a=r.nextInt(1000);
System.out.println("---------猜数字游戏--------");
System.out.println("\t范围:1~1000");
System.out.println("请输入一个数字");
while(true){
try{
int b=sc.nextInt();
if(b>0&&b>a){
System.out.println("太大了,小一点");
}else if(b>0&&b System.out.println("太小了,大一点");
}else if(b>0&&b==a){
System.out.println("恭喜你,答对了");
break;
}else if(b System.out.println("请输入正整数");
}else if(b>1000){
System.out.println("请输入1~1000的整数");
}
}catch(InputMismatchException e){
System.out.println("请输入数字");
}
}
}
}
catch(InputMismatchException e){
System.out.println("请输入数字");
}
//我的弟弟你这是抓住异常,不是抛出异常,你这是上面还是while(true)你说咋停下来
异常在while(true)这个死循环中,你加个break;跳出循环
同意楼上观点,在捕获异常时,加个break;
只要捕获异常就跳出循环。
在catch 中写new Scanner (system.in)
处理完异常要重新new 一次scanner ,要不然永远判断的是之前输入的信息