黑马程序员技术交流社区

标题: 石头剪刀布 虽然不是随机但是也搞了这么晚 ~~~ [打印本页]

作者: 米江波    时间: 2015-4-29 00:03
标题: 石头剪刀布 虽然不是随机但是也搞了这么晚 ~~~
哪位大神给写个随机的,并附加上注释。。。小弟多谢了
import java.util.Scanner;
class Noname2{
    public static void main(String[] args){
        Scanner s=new Scanner(System.in);
        System.out.println("猜拳游戏,开始啦~~请输入剪刀,石头,布");
        boolean flag=true;
        while (flag)
        {
            
            String st=s.next();
            if (st.equals("剪刀"))
            {
                System.out.println("电脑出石头,你输啦");
                System.out.println("请继续输入进行游戏o(∩_∩)o ");
                continue;
            }
            else if (st.equals("石头"))
            {
                System.out.println("电脑出布,你输啦");
                System.out.println("请继续输入进行游戏o(∩_∩)o ");
                continue;
            }
            else if (st.equals("布"))
            {
                System.out.println("电脑出剪刀,你输啦");
                System.out.println("请继续输入进行游戏o(∩_∩)o ");
                continue;
            }
            else if (st.equals("退出"))
            {
                System.out.println("确认退出吗?Y/N");
               
                while(true){
                    String sb=s.next();
                    if (sb.equals("Y"))
                    {
                        flag=false;
                        break;
                    }
                    else if (sb.equals("N"))
                    {
                        continue;
                    }
                    else
                    {   
                        System.out.println("非法字符,请重新输入");
                    }
                }
            }
            else
            {
                System.out.println("非法字符,请重新输入");
                continue;
            }
        }
    }
}

作者: 海带    时间: 2015-4-29 08:57
用Math.rand()随机产生3个数分别代表石头剪刀布就行了
作者: 何志超    时间: 2015-4-29 10:03
public static void main(String[] args){
        Scanner s=new Scanner(System.in);
        System.out.println("猜拳游戏,开始啦~~请输入剪刀,石头,布");
        
        boolean flag=true;
        while (flag)
        {
                int n = (int)(Math.random()*9);
                int a =  n % 3;// 取余的结果为 0, 1 ,2 为0电脑出石头,为1电脑出剪刀,为2电脑出布
            String st=s.next();
            if (st.equals("剪刀"))
            {
                    if(a == 0){
                            System.out.println("电脑出石头,你输啦");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }
                    else if(a == 1) {
                            System.out.println("电脑出剪刀,平局");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }
                    else if(a == 2) {
                            System.out.println("电脑出布,你赢啦");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }
                    continue;
            }
            
            else if (st.equals("石头"))
            {
                    if(a == 0){
                            System.out.println("电脑出石头,平局");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }
                    else if(a == 1) {
                            System.out.println("电脑出剪刀,你赢啦");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }
                    else if(a == 2) {
                            System.out.println("电脑出布,你输啦");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }   
                    continue;
            }
            else if (st.equals("布"))
            {
                    if(a == 0){
                            System.out.println("电脑出石头,你输啦");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }
                    else if(a == 1) {
                            System.out.println("电脑出剪刀,你输了");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }
                    else if(a == 2) {
                            System.out.println("电脑出布,平局");
                            System.out.println("请继续输入进行游戏o(∩_∩)o ");
                    }
                    continue;
            }
            else if (st.equals("退出"))
            {
                System.out.println("确认退出吗?Y/N");
               
                while(true){
                    String sb=s.next();
                    if (sb.equals("Y"))
                    {
                        flag=false;
                        break;
                    }
                    else if (sb.equals("N"))
                    {
                        continue;
                    }
                    else
                    {   
                        System.out.println("非法字符,请重新输入");
                    }
                }
            }
            else
            {
                System.out.println("非法字符,请重新输入");
                continue;
            }
        }
    }
}
我在你得基础上弄了一下,我跑了两遍可以的,你看看,不行咱们就继续研究一下
作者: huanmenglt    时间: 2015-4-29 10:07
我去,你这是一直让人输的节奏?




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