四、小白学JAVA-石头剪刀布游戏

1、如何从控制台获取用户输入

复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // 石头剪刀布的思路
        // 1 2 3 石头 剪刀 布
        Scanner scanner = new Scanner(System.in);
        System.out.println("请出拳:1.石头  2.剪刀 3.布【请输入数字1或2或3】");
        int userInput = Integer.parseInt(scanner.nextLine());
        switch (userInput) {
            case 1:
                System.out.println("您出的是石头");
                break;
            case 2:
                System.out.println("您出的是剪刀");
                break;
            case 3:
                System.out.println("您出的是布");
                break;
        }
    }
}

2、设计电脑如何随机出石头剪刀布

复制代码
int computerResult = (int) (Math.random() * 3 + 1);
复制代码
switch (computerResult) {
    case 1:
        System.out.println("电脑出的是石头");
        System.out.println("游戏结果:您失败了");
        break;
    case 2:
        System.out.println("电脑出的也是剪刀");
        System.out.println("游戏结果:平局");
        break;
    case 3:
        System.out.println("电脑出的是布");
        System.out.println("游戏结果:您赢了");
        break;
}

3、如何实现游戏的多轮玩法

复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // 石头剪刀布的思路
        // 1 2 3 石头 剪刀 布
        while (true) {
            System.out.println("新一轮游戏开始**************************************************************************************");
            int computerResult = (int) (Math.random() * 3 + 1);
            // System.out.println(computerResult);
            Scanner scanner = new Scanner(System.in);
            System.out.println("请出拳:1.石头  2.剪刀 3.布【请输入数字1或2或3】  退出游戏请输入q");
            String quitResult = scanner.nextLine();
            if (quitResult.equals("q")) {
                System.out.println("退出游戏成功,欢迎下次再来!");
                break;
            }
            int userInput = Integer.parseInt(quitResult);
            switch (userInput) {
                case 1:
                    System.out.println("您出的是石头");
                    switch (computerResult) {
                        case 1:
                            System.out.println("电脑出的也是石头");
                            System.out.println("游戏结果:平局");
                            break;
                        case 2:
                            System.out.println("电脑出的也是剪刀");
                            System.out.println("游戏结果:您赢了");
                            break;
                        case 3:
                            System.out.println("电脑出的也是布");
                            System.out.println("游戏结果:您失败了");
                            break;
                    }
                    break;
                case 2:
                    System.out.println("您出的是剪刀");
                    switch (computerResult) {
                        case 1:
                            System.out.println("电脑出的是石头");
                            System.out.println("游戏结果:您失败了");
                            break;
                        case 2:
                            System.out.println("电脑出的也是剪刀");
                            System.out.println("游戏结果:平局");
                            break;
                        case 3:
                            System.out.println("电脑出的是布");
                            System.out.println("游戏结果:您赢了");
                            break;
                    }
                    break;
                case 3:
                    System.out.println("您出的是布");
                    switch (computerResult) {
                        case 1:
                            System.out.println("电脑出的是石头");
                            System.out.println("游戏结果:您赢了");
                            break;
                        case 2:
                            System.out.println("电脑出的是剪刀");
                            System.out.println("游戏结果:您失败了");
                            break;
                        case 3:
                            System.out.println("电脑出的也是布");
                            System.out.println("游戏结果:平局");
                            break;
                    }
                    break;
            }
        }
    }
}
相关推荐
万年咸鱼7 分钟前
Java BufferedInputStream 详解:原理、用法与实战
java·开发语言·python
weixin199701080169 分钟前
[特殊字符]《二手ERP × 闲鱼消息驱动架构:正向+逆向交易消息如何驱动WMS出库与回传》(附Python源码)
开发语言·python·架构
galaxy_strive24 分钟前
Qt C++插件化编写项目(1)
开发语言·c++·qt
~木雨28 分钟前
Java 线程池七问七答:参数、执行流程、拒绝策略到 ThreadLocal 内存泄漏,面试必背
java·面试·线程池·threadlocal·threadpool·executor
见叶之秋36 分钟前
【C++】C++ 核心进阶(一):泛型编程基石 —— 模板初阶与 STL 体系开篇
开发语言·c++
Escalating_xu37 分钟前
【Makefile 进阶】从自动发现源文件、模式规则到目录分离与多模块递归构建
linux·开发语言
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】Gemini模型接入知识体系
java·开发语言·网络·人工智能·网络协议·学习·http
云运维笔记1 小时前
Zabbix 分布式监控搭建实战:基于 Proxy 实现 MySQL、Java、Nginx 监控
java·mysql·zabbix
传奇开心果编程1 小时前
【Rust入门知识点学与练】第13课:枚举 Enum
开发语言·学习·rust
zhanghaha13141 小时前
Python进阶教程:28_queue 队列模块 零基础超详细教程
java·开发语言·python