# java实现猜数游戏--进阶版(try......catch捕获异常)

### 1.最简单的猜数游戏

import java.util.Random;
import java.util.Scanner;
public class GuessNum1 {
public static void main(String[] args) {
Random r = new Random();
int sum = r.nextInt(1,201);//1--200的随机数
Scanner sc = new Scanner(System.in);
int a = 0;
while(true){
System.out.println("请输入数字: ");
try{
a =sc.nextInt();
}catch (Exception e) {
System.out.println("请输入正确的数字: ");
sc.next();
continue;
}
if(a > sum){
System.out.println("猜大了");
}else if(a < sum){
System.out.println("猜小了");
}else{
System.out.println("猜对了");
break;
}
}
}
}

### 2.随机等级挑战,计分器模式

import java.util.Random;
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
//随机出题
Random rand = new Random();
int level  = rand.nextInt(1,11);//10级
int a = 1;
int b = level*50;
int num = rand.nextInt(a,b+1);
int n = 0;
//接收键盘输入
Scanner sc = new Scanner(System.in);
while(true){
++n;
System.out.printf("请输入[%d-%d]：",a,b);
int t = sc.nextInt();
if(t<a || t>b){
System.out.printf("请重新%n");
--n;
continue;
}
if(t>num){
System.out.printf("%d、太大了。%n",n);
}else if(t<num){
System.out.printf("%d、太小了。%n",n);
}else{
System.out.printf("%d、恭喜，猜对了(%d分)。%n",n,(110 - n*10 ));
break;
}
if(n>=10){
System.out.print("游戏结束");
break;
}
}
}
}

### 2.随机等级挑战,计分器模式,并用try.......catch捕获异常

package cn.zh_jie;
import java.util.Random;
import java.util.Scanner;
public class GetNum {
public static void main(String[] args) {
Random r = new Random();
Scanner sc = new Scanner(System.in);
int level = r.nextInt(1, 11);//1--10级
int a = 1;
int b = level * 50;
int n = 0;
String str = null;
int t;
int num = r.nextInt(a, b + 1);
while (true) {
++n;
System.out.printf("请输入一个[%d-%d]整数:", a, b);
try {
str = sc.next();
t = Integer.parseInt(str);
} catch (Exception e) {
System.out.printf("你输入的不是一个整数,请输入一个整数%n");
--n;
continue;
}
if (t > num) {
System.out.println("猜大了");
} else if (t < num) {
System.out.println("你猜小了");
} else {
System.out.printf("%d 恭喜你, 猜对了(%d分).%n", n, (110 - n*10));//计分器
break;
}
if (n >= 10) {
System.out.print("游戏结束");
break;
}
}
}
}


• 1
点赞
• 2
收藏
觉得还不错? 一键收藏
• 打赏
• 0
评论
11-20 1066
07-16 530
06-08 729
02-25 782
09-29 622
06-29
09-12
02-25 127
06-14 547
05-11 3225
09-21 63

### “相关推荐”对你有帮助么？

• 非常没帮助
• 没帮助
• 一般
• 有帮助
• 非常有帮助

Zh-jie

¥1 ¥2 ¥4 ¥6 ¥10 ¥20

1.余额是钱包充值的虚拟货币，按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载，可以购买VIP、付费专栏及课程。