A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

请大神们集思广益,说出自己各种的解决方法,给本菜菜鸟一个学习的机会,开开眼界,扩展一下思维

1 个回复

正序浏览

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为退出:");
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马