A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

潜行666

初级黑马

  • 黑马币:40

  • 帖子:8

  • 精华:0

© 潜行666 初级黑马   /  2018-12-14 23:19  /  1273 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大神勿扰!!!
定义一个基本类
测试类没有放进来
功能就是猜拳,前面注释是我的思路。编程思维千千万万,总有一个是你。。
第一个方法是第二个方法的改进,效果完全相同。
大概解析一下。
我将剪刀石头布分别用012替代。我认为,程序开发,定义的就是自己的规则。每一个程序就是一些规则的集合,在这里我使用的是相减,得到的结果不同。就可以计算输赢。
以下是我的代码实现。

class Test18120908 {
    //猜拳游戏,剪刀0,石头1,布2
    //思路:玩家赢,     0-2=-2,       1-0=1,      2-1=1, ---结果:-2,1

    //      玩家输,    0-1=-1,       1-2=-1,      2-0=2,---结果:-1,2

    //      平局,      0-0=0,        1-1=0,        2-2=0,---结果:0

    public void caiquan1() {
        //提示语句
        System.out.println("请输入0或1或2");
        //获取键盘输入
        Scanner sc = new Scanner(System.in);
        //统计
        int x= 0;
        int y= 0;
        int z= 0;
        //循环
        while (true) {
            //将获取到的数字赋值给a
            int a = sc.nextInt();
            //获取随机数,并赋值给b
            int b = new Random().nextInt(3);

            //判断
            if (a >= 0 & a <= 2) {
                if (a - b == -2 | a - b == 1) {
                    x++;
                    System.out.println("你赢了"+x+"次");
                    System.out.println("你赢了");
                } else if (a - b == -1 | a - b == 2) {
                    y++;
                    System.out.println("电脑赢了"+y+"次");
                    System.out.println("电脑赢了");
                } else {
                    z++;
                    System.out.println("平局"+y+"次");
                    System.out.println("平局");
                }
            } else
                System.out.println("输入错误,请重新输入!");//错误提示
        }
    }

    public void caiquan2() {
        //提示语句
        System.out.println("请输入0或1或2");
        //获取键盘输入
        Scanner sc = new Scanner(System.in);
        //循环
        while (true) {
            //将输入的值赋值给a
            int a = sc.nextInt();
            //获取随机数
            int b = new Random().nextInt(3);
            //判断输入的正确数字就进入内层判断
            if (a >= 0 & a <= 2) {

                if (a == 0) {//当a=0时,

                    if (a - b == -2)
                        System.out.println("你赢了");
                    else if (a - b == -1)
                        System.out.println("电脑赢了");
                    else
                        System.out.println("平局");

                } else if (a == 1) {//当a=1时,

                    if (a - b == 1)
                        System.out.println("你赢了");
                    else if (a - b == -1)
                        System.out.println("电脑赢了");
                    else
                        System.out.println("平局");

                } else if (a == 2) {//当a=2时,

                    if (a - b == 1)
                        System.out.println("你赢了");
                    else if (a - b == 2)
                        System.out.println("电脑赢了");
                    else
                        System.out.println("平局");

                }

            } else {
                System.out.println("输入错误,请重新输入!");
            }
        }
    }

}


给大家说一个冷门知识。条件判断语句后面紧跟的是一条有效语句的话{}是可以省略的哦。哈哈哈(ಡωಡ)hiahiahia

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马