先建立个Game 包然后我做的就是分了 5 个类来做的TestStartGuess 类package com、game、guess; public class TestStartGuess { /*** 人机互动版猜拳游戏* 程序入口*/ public static void main(String[] args) { Game game=new Game(); game、initial();game、startGame();}}2、Person 类package com、game、guess; import java 、util 、Scanner;/*** 用户类*阶段1 完成* @param <Scanner>*/ public class Person {String name =" 匿名";// 名字int score =0;// 积分/*** 出拳*@return 出拳结果:1、剪刀2、石头3、布*/ public int showFist(){// 接收用户的选择Scanner input =new Scanner(System、in);System、out 、print("\n 请出拳:1、剪刀2、石头3、布(输入相应数字):"); int show=input 、nextInt();// 输出出拳结果,并返回switch(show){ case 1:System、out 、println(" 您出拳:剪刀"); break;case 2:System、out、printin("您出拳石头”);break;case 3:System、out 、println(" 您出拳:布"); break;}return show;}}3、Computer 类package com、game、guess;/***计算机类*阶段2 完成*/ public class Computer{String name=" 电脑";// 名字int score = 0;;// 积分/***出拳*@return 出拳结果:1 、剪刀2、石头3、布*/public int showFist(){// 产生随机数int show =(int)(Math 、random()*10)%3+1;// 产生随机数, 表示电脑出拳// 输出出拳结果并返回switch(show){case 1:System、out 、println(name+" 您出拳:剪刀"); break;case 2:System、out 、println(name+" 您出拳:石头"); break;case 3:System、out 、println(name+" 您出拳:布"); break;} return show;} }4、Game 类package com、game、guess; import java 、util 、Scanner;/*** 游戏类类完全版* 阶段7:功能扩展* @param <computer>*/public class Game<computer> { Person person; // 甲方Computer computer; // 乙方int count;// 对战次数/*** 初始化*/ public void initial(){ person=new Person(); computer=new Computer();count=0; } /*** 开始游戏*/@SuppressWarnings("resource")public void startGame(){System、out 、println(" ---- 欢迎进入游戏世界----- \n");System、out 、println("\n\t\t***************");System、out 、println("\t\t** 猜拳,开始**");System、out 、println("\t\t***************");System、out 、println("\n\n 出拳规则:1、剪刀,2、石头,3、布"); Scanner input=new Scanner(System、in);String exit="n"; // 退出系统do{ initial();// 初始化/* 选择对方角色*/System、out 、print(" 请选择对方角色:(1:刘备,2:孙权,3:曹操):"); int role=input 、nextInt(); if(role==1){computer、name="文U备";}else if(role==2){computer、name="孙权";}else if(role==3){computer、name="曹操";}// 扩展功能1:输入用户姓名/* 输入用户姓名*/System、out、print(" 请输入您的姓名:"); person 、name=input 、next();System、out、println(person、name+"VS"+computer、name+"对战\n"); // 扩展功能1 结束System、out 、print(" 要开始不?(y/n)");String start=input 、next();// 开始每一局游戏int perFist; // 用户出的拳int compFist; // 计算机出的拳while(start 、equals("y")){/* 出拳*/perFist=person 、showFist(); compFist=computer 、showFist();/* 裁决*/if((perFist==1&&compFist==1)||(perFist==2&&compFist==2)||(perFist==3&&compFist==3)){ System、out、printin("结果:与局,真衰!嘿嘿,等着瞧吧!\n"); //平局}elseif((perFist==1&&compFist==3)||(perFist==2&&compFist==1)||(perFist==3&&compFist==2)){ Sys tem、out、printin(" 结果:恭喜,您赢了!"); //用户赢person、score++;}eise{System、out、println(”结果说:人_人,您输了,真笨!\n"); //计算机赢computer 、score++;}count++;System、out、println("\n 就是否开始下一轮(y/n):"); start=input 、next();}/* 显示结果*/showResult();// 扩展功能3:循环游戏,知道退出系统System、out、print("\n 要开始下一局不?(y/n):"); exit=input 、next();System、out、println();// 扩展功能3 结束}while(!exit 、equals("n"));System、out、println(" 系统退出!");}/*** 显示比赛结果*/public void showResult(){/* 显示对战次数*/System、out、println(" --------------------------- ");System、out、println(computer 、name+"VS"+person 、name);System、out、println(" 对战次数:"+count);//扩展功能2 :显示最终的得分System、out、println("\n 姓名\t 得分");System、out、println(person 、name+"\t"+person 、score);System、out 、println(computer 、name+"\t"+computer 、score+"\n");// 扩展功能2 结束/* 显示对战结果*/int result=calcResult(); if(result==1){System、out 、println(" 结果:打成平手,下次再与您一分高下!");}else if(result==2){System、out 、println(" 结果:恭喜恭喜!"); // 用户获胜}else{System、out、println(" 结果:呵呵,笨笨,下次加油啊!"); //计算机获胜} System、out 、println(" ---------------------------- ");}/*** 计算比赛结果* @return1: 战平; 2: 用户赢; 3: 电脑赢*/public int calcResult(){if(person 、score==computer 、score){ return 1;// 战平}else if(person 、score>computer 、score){ return 2;// 用户赢}else{return 3;// 电脑赢}}}5、Start 类package com、game、guess;public class StartGuess {public static void main (String[] args){Game c = new Game();c、initial();c、startGame();}}然后编译执行就0K 了希望能帮到您。