前面我们讲过了 break 和 continue在程序中是怎样控制流程的,还不怎么明白的小伙伴可以去看看Java中 break 和continue 的区别及应用
今天我们通过一个案例来深入理解两者的功能,这是一个人机猜拳的一个小游戏
import java.util.Scanner;
public class testGuess{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//人机猜拳(1.剪刀、2.石头、3.布),三局两胜
int cCounter = 0;//电脑赢的次数的计数器
int pCounter = 0;//玩家赢的次数的计数器
for(int i = 1; i <= 3; ){ //三局之内
int computer = ((int)(Math.random() * 10)) % 3 + 1; //Math.random()随机小数,%3 + 1 把电脑随机出来的这个数控制在1~3之间
System.out.println("please input num(1、2、3):");
int player = input.nextInt();
//比较
if((player == 1 && computer == 3) || (player == 2 && computer == 1) || (player == 3 && computer == 2)){ // 玩家胜
System.out.println("win!!!");
pCounter++;//玩家赢的次数
}else if(player == computer ) {
System.out.println("draw!");
continue;//平局之后不计数,继续向下执行程序
}else {//玩家输
System.out.println("lose..!");
cCounter++;//电脑赢的次数
}
i++;
if(pCounter == 2){//玩家赢的次数等于2则玩家胜
System.out.println("you win!!");
break;
}
if(cCounter == 2){//电脑赢的次数等于2则电脑胜
System.out.println("you lose!");
break;
}
}
}
}