yuan生的小小白 2022-01-15 11:03 采纳率: 100%
浏览 46
已结题

我自己用Java写了一个关于猜数字游戏的程序,请问这里有什么可以改进的地方吗?

我自己用Java写了一个关于猜数字游戏的程序,相对来说还算完整,但是因为本人是初学java,知识储备有限,所以相信这个程序一定有什么可以改进优化的地方,想请大家给指出来,发表自己的优化建议,同时也希望自己可以查漏补缺,学习到更多的知识,谢谢大家
import java.util.Random;
import java.util.Scanner;

public class work2 {
    /**
     * 用户猜数字:由用户输入数字范围,进行猜数字
     */
    public static void main(String[] args) {
        guessNumber(10);
    }
    public static void guessNumber(int n) {
        Random random = new Random();
        int ran = random.nextInt(n);
        int ranNext = -1;
        System.out.println(ran);
        Scanner sc = new Scanner(System.in);
        System.out.println("请用户输入一个0-" + n + "之间的数字:\n您一共有5次机会");
        for (int i = 5; i > 0; i--) {
            int num = sc.nextInt();
            if(ranNext >= 0){
                ran = ranNext;
            }
            if (num > n || num < 0) {
                System.out.println("您输入的数字超出范围,请重新输入:");
                num = sc.nextInt();
            } else if (num == ran) {
                System.out.println("恭喜你,猜对了!\n接着下一局请输入yes,输入其他则退出");
                String judge = sc.next();
                if(judge.equals("yes")){
                    i = 6;
                    ranNext = random.nextInt(n);
                    System.out.println(ranNext);
                    System.out.println("请用户输入一个0-" + n + "之间的数字:\n您一共有5次机会");
                }else{
                    break;
                }
            } else if (num != ran) {
                if (i == 1){
                    System.out.println("对不起,你的机会用完了,再玩一次请输入yes,输入其他则退出");
                    String judge = sc.next();
                    if(judge.equals("yes")){
                        i = 6;
                        ranNext = random.nextInt(n);
                        System.out.println(ranNext);
                        System.out.println("请用户输入一个0-" + n + "之间的数字:\n您一共有5次机会");
                    }else{
                        break;
                    }
                }else {

                    System.out.println("对不起,你猜错了!还剩" + (i - 1) +"次机会");
                }
            }
        }
    }
}

  • 写回答

3条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已结题 (查看结题原因) 1月19日
      • 已采纳回答 1月15日
      • 创建了问题 1月15日

      悬赏问题

      • ¥100 基于做一个模拟智慧路灯
      • ¥15 ME21N 创建采购成功并且生成采购订单号,但显示“快件文档更新已取消”,SM13看错误提示为如下截图:
      • ¥30 android 集成fmod实现变声功能中遇到的问题
      • ¥15 关于#matlab#的问题,如何解决?
      • ¥15 51单片机汇编语言Keil5基础问题!
      • ¥15 CygwinPortable 中 NumPy 无法安装
      • ¥15 vivado如何支持多维打包数组模式
      • ¥15 请问第13题到底应该怎么做
      • ¥15 倒计时汇编语言RTC实时时钟
      • ¥15 CCS安装出现Failed to create the part's controls