玩家实体类
public class Player {
private String name;
private int totalNumber;
private int winNumber;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getTotalNumber() {
return totalNumber;
}
public void setTotalNumber(int totalNumber) {
this.totalNumber = totalNumber;
}
public int getWinNumber() {
return winNumber;
}
public void setWinNumber(int winNumber) {
this.winNumber = winNumber;
}
public Player(String name, int totalNumber, int winNumber) {
super();
this.name = name;
this.totalNumber = totalNumber;
this.winNumber = winNumber;
}
public Player() {
}
}
主体类
import java.util.Scanner;
public class RockPaperScissors {
public static void main(String[] args) {
Player player = new Player("",0,0);
System.out.println("请输入玩家姓名:");
Scanner scanner = new Scanner(System.in);
player.setName(scanner.nextLine());
int i;
while(true) {
show(player.getName());
i = scanner.nextInt();
if(i == 0)
break;
int t = (int) (Math.random()*3 + 1);
if(i==1 && t==1 || i==2 && t==2 || i==3 && t==3) {
System.out.println("平局");
}else if(i==1 && t==2 || i==2 && t==3 || i==3 && t==1){
System.out.println("恭喜 你赢了");
player.setWinNumber(player.getWinNumber()+1);
}else {
System.out.println("抱歉 你输了");
}
player.setTotalNumber(player.getTotalNumber()+1);
System.out.println();
}
showResult(player);
}
public static void show(String name) {
System.out.println("**********************************************************");
System.out.println("欢迎"+name+"进入猜拳游戏");
System.out.println("1.石头\t\t2.剪刀\t\t3.布\t\t0.退出");
System.out.println("**********************************************************");
System.out.println("请输入数字:");
}
public static void showResult(Player player) {
System.out.println("\t\t\t排行榜");
System.out.println("****************************************************************");
System.out.println("姓名\t\t总局数\t\t赢场\t\t胜率");
double rate = (double)player.getWinNumber() / player.getTotalNumber()*100;
System.out.print(player.getName()+"\t\t"+player.getTotalNumber()+"\t\t"
+player.getWinNumber()+"\t\t");
System.out.printf("%.2f",rate);
System.out.print("%");
}
}