题目: 使用java写一个人机猜拳的案例。数字1代表剪刀、数字2代表石头、数字3代表布 (1.剪刀、2.石头、3.布)
要求:
1.玩家手动输入一个整数,电脑随机产生一个整数,二者进行比较,分出胜负。
2.三局两胜制,电脑和玩家谁先赢两次谁获胜。
代码如下:
import java.util.Scanner;
//猜拳案例,三局两胜制
public class TestGuess{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
//人机猜拳(1.剪刀、2.石头、3.布)
//随机产生一个1、2、3的整数
int p=0;//玩家的获胜次数
int c=0;//电脑的获胜次数
for(int i=1;i<=3;i++){
//获得一个随机数
java.util.Random random = new java.util.Random();
//random.nextInt(3),作用是随机获取从0开始的,三个随机数,即0,1,2
int computer = random.nextInt(3)+1;//随机获得1、2、3
System.out.println("请玩家输入数字(1.剪刀、2.石头、3.布):");
int player = input.nextInt();
//比较猜拳
if(computer == player){
System.out.println("平局");
i--;
}else if( (player == 1 && computer ==3)||(player==2 && computer==1)||(player==3 && computer==1)){
System.out.println("玩家获胜!");
p++;//玩家的获胜次数加1
}else{
System.out.println("电脑获胜!");
c++;//电脑的获胜次数加1
}
//判断双方是否已经存在连胜2局的情况
if(p == 2){
System.out.println("玩家已获胜两局,赢得比赛");
break;
}
if(c == 2){
System.out.println("电脑已获胜两局,赢得比赛");
break;
}
}
}
}