黑马程序员技术交流社区
标题:
征集有关猜数字小游戏程序实现询问是否再来一次的方法
[打印本页]
作者:
a527512132
时间:
2016-1-22 21:52
标题:
征集有关猜数字小游戏程序实现询问是否再来一次的方法
请大神们集思广益,说出自己各种的解决方法,给本菜菜鸟一个学习的机会,开开眼界,扩展一下思维
作者:
宋达思
时间:
2016-1-22 22:18
import java.util.Random;
import java.util.Scanner;
/*
完成猜数字小游戏:
后台预先生成一个随机数1-100,用户键盘录入猜数字
如果猜对了,打印“恭喜您,答对了”
如果猜错了:
猜大了:打印“sorry,您猜大了!”
猜小了:打印“sorry,您猜小了!”
直到数字猜到为止。
最多只能猜5次,否则提示“sorry,您没有机会了!”
*/
public class GuessNum {
public static void main(String[] args) {
guessNum();
}
/*
* 这里添加了1个新功能,就是在用户完成了1轮游戏后询问用户是否继续游戏,通过函数封装,
* 循环(这里使用的是无限循环,利用循环标号,可以在满足一定条件时跳出无限循环;当然也可以限定游玩的次数,思路就和猜5次一样了。)功能
* 来满足用户的需求。
*/
public static void guessNum() {
Scanner sc = new Scanner(System.in);
guess5Times(sc);
infiniti: while (true) {
int choice = sc.nextInt();
switch (choice) {
case 1:
guess5Times(sc);
break;
case 0:
break infiniti;
default:
System.out.println("输入的决定不正确,请重新输入!");
break;
}
}
}
private static void guess5Times(Scanner sc) {
Random rd = new Random();
int num = rd.nextInt(100) + 1;
// System.out.println(num);
int temp = 0;
for (int i = 1; i <= 5; i++) {
System.out.println("请输入您要猜的数字(1~100):");
temp = sc.nextInt();
if (temp > num) {
System.out.println("sorry,您猜大了!" + "您还剩" + (5 - i) + "次机会");
} else if (temp < num) {
System.out.println("sorry,您猜小了!" + "您还剩" + (5 - i) + "次机会");
} else {
System.out.println("恭喜您,答对了!");
break;
}
if (5 - i == 0) {
System.out.println("sorry,您没有机会了!");
break;
}
}
System.out.println("请输入数字决定您是否下1轮游戏,1为继续,0为退出:");
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2