黑马程序员技术交流社区

标题: 猜拳案例实现 [打印本页]

作者: qq995399455a    时间: 2018-12-15 22:47
标题: 猜拳案例实现
在黑马学习差不多快一个月了,基础班的课程也已经结束,在基础班的学习阶段我学到了很多知识,同时也有很多不足希望能在之后的学习中继续完善。下面粘贴一份自己写的第一个人机交互的案例,来纪念下这一阶段的学习过程。
package cn.Wql.code;

import java.util.Random;
import java.util.Scanner;

public class Guess {
    public static void main(String[] args) {
        Random random = new Random();
        Scanner scanner = new Scanner(System.in);
        while (true) {//用一个死循环来写,可以跟电脑玩到天荒地老
            int num = random.nextInt(3);//0-2三种情况来代表剪刀石头布
            System.out.println("请输入0(剪刀)、1(石头)、2(布):");
            int str = scanner.nextInt();//获取键盘输入的数据
            if (str == 0 || str == 1 || str == 2) {
                if (str == 0) {
                    System.out.println("你出剪刀");
                } else if (str == 1) {
                    System.out.println("你出石头");
                } else {
                    System.out.println("你出布");
                }
                if (num == 0) {
                    System.out.println("电脑出剪刀");
                } else if (num == 1) {
                    System.out.println("电脑出石头");
                } else {
                    System.out.println("电脑出布");
                }
                //玩家赢得条件
                if ((str == 0 && num == 2) || (str == 1 && num == 0) || (str == 2 && num == 1)) {
                    System.out.println("你赢了");
                    //平局的条件
                } else if ((str == 0 && num == 0) || (str == 1 && num == 1) || (str == 2 && num == 2)) {
                    System.out.println("平局");
                } else {//电脑赢
                    System.out.println("电脑赢了");
                }

            } else {//如果玩家不按套路出牌,就提示重新输入
                System.out.println("输入错误,请重试:");
            }
        }
    }
}
运行结果如下:
请输入0(剪刀)、1(石头)、2(布):
0
你出剪刀
电脑出石头
电脑赢了
请输入0(剪刀)、1(石头)、2(布):
1
你出石头
电脑出剪刀
你赢了
请输入0(剪刀)、1(石头)、2(布):
2
你出布
电脑出剪刀
电脑赢了
请输入0(剪刀)、1(石头)、2(布):
4
输入错误,请重试:
这个案例写完的第二天我们学习了字符串,知道了equals方法,但鉴于这是自己写的第一份人机交互案例,所以在此粘贴这一份,用以纪念。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2