黑马程序员技术交流社区

标题: 征集有关猜数字小游戏程序实现询问是否再来一次的方法 [打印本页]

作者: 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