JAVA实现21点游戏

需积分: 12 7 下载量 31 浏览量 更新于2024-11-21 收藏 12KB TXT 举报
"JAVA之21点游戏" 在Java编程中,21点游戏(BlackJack)是一个常见的项目,用于练习面向对象编程、输入/输出处理以及决策逻辑。以下是基于给定代码片段的详细知识点: 1. **面向对象编程**: - `Player` 类:表示游戏中的玩家,可能包括玩家的得分和手牌等属性,以及击牌、查看得分等方法。 - `Dealer` 类:代表庄家,通常包含与玩家类似但可能有所不同的行为,如自动决定是否要牌。 - `Deck` 类:表示牌堆,负责洗牌、发牌等操作。 2. **类和对象**: - `BlackJack` 类是游戏的主要控制类,它包含了游戏的流程管理,如开始游戏、检查得分等。 - `player` 和 `com` 是 `Player` 类的实例,分别代表玩家和庄家。 - `deck` 是 `Dealer` 类的实例,用于管理游戏的牌。 3. **输入/输出处理**: - 使用 `BufferedReader` 读取用户从标准输入(键盘)输入的命令,进行游戏交互。 - `br = new BufferedReader(new InputStreamReader(System.in));` 创建一个读取器,用于读取用户的输入。 4. **游戏循环**: - 游戏通过一个无限循环进行,直到用户选择退出(选项3)。 - 在循环中,玩家和庄家可以反复进行游戏,通过 `playAgain()` 方法判断是否继续游戏。 5. **决策逻辑**: - `switch` 语句根据用户输入执行相应操作,如开始游戏、检查得分或退出。 - `start()` 方法用于开始新一局游戏,可能包括发牌、玩家和庄家依次决策等步骤。 - `checkScore()` 方法用于显示当前玩家和庄家的得分,以确定胜负。 6. **异常处理**: - 使用 `try-catch` 块捕获可能出现的 `IOException`,当用户输入无效时,防止程序异常终止。 7. **系统退出**: - 用户选择退出(输入3)时,调用 `System.exit(0)` 结束程序。 8. **命令行参数**: - `public static void main(String[] args)` 是Java程序的入口点,这里没有实际使用参数,但通常可以用来接收命令行参数。 这个21点游戏示例展示了基础的Java编程技巧,包括类的设计、对象的交互、用户输入处理和错误处理,对于初学者来说是一个很好的实践项目。