相关代码如下: import java.util.Scanner; public class game1 { public static void main(String[] args) { // 定义全局变量,玩家姓名 String player_name; String com_name; int player_choice; int com_choice; // 按照流程写程序 // 欢迎界面 System.out.println("****************"); System.out.println(" 游戏:剪刀石头布"); System.out.println(" 作者:!!!!"); System.out.println("************"); System.out.println("欢迎进入本游戏,请输入玩家姓名"); // 获取输入设备 Scanner scanner = new Scanner(System.in); // 结合上下文的变量决定当前等式变量 player_name = scanner.nextLine(); // 选择电脑的玩家 System.out.println("*************"); System.out.println("1-----梁欣"); System.out.println("2-----刘玲俊"); System.out.println("****************"); // 需要用户选择玩家 String com_no = scanner.next(); if (com_no.equals("1")) { com_name = "梁欣"; } else if (com_no.equals("2")) { com_name = "刘玲俊"; } else { com_name = "匿名用户"; } // 玩家出拳 System.out.println("*****玩家选择出拳代表数字******"); System.out.println("1----剪刀"); System.out.println("2----石头"); System.out.println("3----布"); System.out.println("***************"); // 玩家出拳为了运算方便,使用数字 player_choice=scanner.nextInt(); // 电脑出拳(Math.random()产出0-1 +1 1-2 四舍五入取(1,2) // 把Math.random()*2扩大两倍再加1四舍五入就会变成1.2.3 // (int)强制转化,把long的八个字节,只用四个字节存储,丢掉四个字节只有1.2.3 com_choice=(int)Math.round(Math.random()*2+1); if (player_choice-com_choice==1 || player_choice-com_choice==2){ System.out.println("玩家"+player_name+"赢"); }else if (com_choice-player_choice==1 || com_choice-player_choice==2){ System.out.println("电脑"+com_name+"赢"); } } }
结果如下: