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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

哪位大神给写个随机的,并附加上注释。。。小弟多谢了
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;
            }
        }
    }
}

评分

参与人数 1技术分 +2 收起 理由
lwj123 + 2

查看全部评分

3 个回复

倒序浏览
用Math.rand()随机产生3个数分别代表石头剪刀布就行了
回复 使用道具 举报
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;
            }
        }
    }
}
我在你得基础上弄了一下,我跑了两遍可以的,你看看,不行咱们就继续研究一下
回复 使用道具 举报
我去,你这是一直让人输的节奏?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马