有猜数字游戏,其游戏规则为:程序内置一个 1 到 1000 之间的数字作为猜测的结果,由用户猜测此数字。用户每猜测一次,由系统提示猜测结果:大了、小了或者猜对了;直到用户猜对结果,则提示游戏结束。用户可以提前退出游戏,即,游戏过程中,如果用户录入数字0,则游戏终止。
步骤:
1. 游戏刚开始,即提示用户在控制台录入所猜测的数字
2.用户录入所猜测的数字后,程序进行判断:如果用户所猜测的数字大于结果,则提示“太大了!”;如果用户所猜测的数字小于结果,则提示“太小了”。每次提示猜测结果后,并提醒用户继续猜测。
3.如果用户猜测正确,则由系统提示“恭喜,你猜对了!”,游戏结束。
4.如果用户希望提前退出游戏,则可以录入数字 0,游戏结束。
版本1.通过while 来实现:
package GuessNumber;
import java.util.Scanner;
public class NumberGuessV01 {
public static void main(String[] args) {
//生成一个随机数作为猜测的结果
int num = (int) (Math.random() * 1000) + 1;
//测试,也可以作为作弊
System.out.println(num);
//第一次猜测
System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
Scanner s = new Scanner(System.in);
int guest = s.nextInt();
//如果猜测错误,则继续
while (guest!=num) {
//输入为0,则退出循环;否则判断数字
if(guest == 0){
break;
} else if (guest > num) {
System.out.println("太大了!");
} else {
System.out.println("太小了!");
}
System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
guest = s.nextInt();
}
//提示用户最终结果
if(guest == num) {
System.out.println("恭喜,你猜对了!");
}else{
System.out.println("真遗憾,下次再挑战吧!");
}
s.close();
}
}
版本2 通过do while 来实现:
package GuessNumber;
import java.util.Scanner;
public class NumberGuessV02 {
public static void main(String[] args) {
//生成一个随机数作为猜测的结果
int num = (int) (Math.random() * 1000) + 1;
//准备输入
Scanner s = new Scanner(System.in);
int guest = -1;
do{
System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
guest = s.nextInt();
//判断:输入0,则中止
if(guest == 0){
break;
} else if(guest > num) {
System.out.println("太大了!");
} else if(guest < num){
System.out.println("太小了!");
}
}while(guest!=num);
//提示用户最终结果
if(guest == num) {
System.out.println("恭喜,你猜对了!");
}else{
System.out.println("真遗憾,下次再挑战吧!");
}
s.close();
}
}