以下代码是一个猜拳小游戏的实现,其中包含了用户输入、随机数生成、逻辑判断和输出结果等功能。首先让用户输入名字,然后每轮循环中用户输入出拳手势,根据输入的数字1、2、3分别代表石头、剪刀、布;同时,系统也会产生一个随机数表示电脑出拳手势。判断用户和电脑的胜负关系,并输出结果。如果输入的数字为0则退出游戏。 MyMath是一个辅助类,用来生成1-3之间的随机整数。

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

public class GuessGame
{
    String userName;
    Scanner reader=new Scanner(System.in);
    public GuessGame()
    {
        System.out.println("------欢迎来到猜拳小游戏------");
        System.out.println("请输入你的名字:");
        this.userName= reader.next();
    }
    public void startGame()
    {
        System.out.println("欢迎你,"+userName);
        while(true)
        {
            System.out.println("请输入1-石头,2-剪刀,3-布,0-退出");
            int u=reader.nextInt();
            if(u>=1&&u<=3)
            {
                MyMath m=new MyMath();// 产生一个随机数
                int c=m.getRandom();
                judge(u,c);// 判断胜负
            }else if(u==0)
            {
                System.out.println("退出游戏,欢迎下次再玩");
                break;
            }else
            {
                System.out.println("输入有误,请再次输入");
            }
        }
    }
    public void judge(int u,int c)
    {
        if(u==1&&c==2||u==2&&c==3||u==3&&c==1)
        {
            System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",你赢了!!!");
        }else if(u==1&&c==3||u==2&&c==1||u==3&&c==2)
        {
            System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",你输了!!!");
        }else
        {
            System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",平局!!!");
        }
    }
    public String getState(int u)
    {
        String state="";// 将类型与编号对应
        switch(u)
        {
            case 1:
                state="石头";
                break;
            case 2:
                state="剪刀";
                break;
            case 3:
                state="布";
                break;
        }
        return state;
    }
}
class MyMath
{
    public int getRandom()
    {
        Random rd=new Random();
        int number = rd.nextInt(3) + 1;//生成1-3的随机数
        return number;
    }
}