You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java开发Hangman游戏如何实现输入4时显示rules.txt规则文件

Hangman猜词游戏规则读取功能实现

现存问题说明

  • 原代码分支逻辑存在缺陷:三个难度判断使用独立if语句,仅最后一个if(diff==3)绑定了else分支,会导致输入1、2选择低难度时,也错误弹出无效输入提示
  • 缺少输入值为4时读取rules.txt规则文件的对应逻辑分支

修改后可直接运行的完整代码

import java.util.Scanner;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

class Hangman
{
  public static void main(String[] args)
  {
    Scanner guess = new Scanner(System.in);
    System.out.println("Hello, and welcome to Hangman!");
    System.out.println("Choose (1)easy   (2)medium   (3)hard (4)rules: ");
    int diff = guess.nextInt(); 
    
    if(diff==1)
    {
      Play obj = new Play();
      obj.Start(diff);
    }
    else if(diff==2)
    {
      Play obj = new Play();
      obj.Start(diff);
    }
    else if(diff==3)
    {
      Play obj = new Play();
      obj.Start(diff);
    }
    else if(diff==4)
    {
      System.out.println("========== 游戏规则 ==========");
      // 自动管理文件流,读取结束后自动释放资源,无需手动关闭
      try (BufferedReader br = new BufferedReader(new FileReader("rules.txt"))) {
        String line;
        while ((line = br.readLine()) != null) {
          System.out.println(line);
        }
      } catch (IOException e) {
        System.out.println("规则文件读取失败,请检查rules.txt是否放在程序运行目录下");
      }
    }
    else{
        System.out.print("enter a valid number, please try again");
    }
    
    guess.close();
  }
}

部署注意事项

  • 请把编写好的rules.txt规则文件放在程序运行的根目录(和编译生成的Hangman.class文件同层级),否则会触发文件找不到的报错
  • 所有分支统一改为if-else if结构后,程序只会匹配第一个符合条件的分支,不会再出现选择低难度也弹无效提示的问题
  • 文件读取使用Java 7及以上版本支持的try-with-resources语法,自动回收文件资源,不会出现资源泄漏问题

内容的提问来源于stack exchange,提问作者Ans Fu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 21:15:37