有个比赛项目,两个选手一个裁判。比赛规则:选手出手指头,根据出的手指头个数来定输赢。规则:5赢4、4赢3、3赢2、2赢1、1赢5.其他算平局。使用面向对象来模拟出比赛:两个选手要定出输赢。
public class Contest{
private int a;
private int b;
public String max(int a,int b){
if((a==1)&&(b==5)||(a==5)&&(b==1)){ return a>b?"b":"a";
}
return a>b?"a":"b";
}
public boolean One(int a,int b){
int c=a-b;
if(c==1||-c==1||c==4||-c==4){
return true;
}
return false;
}
public void rule(){
//a和b都取区间[1,5]里的整数
a=(int)(Math.random()*5+1);
b=(int)(Math.random()*5+1);
if(One(a,b)){
System.out.println("选手a出"+a+",选手b出"+b+"\t选手"+max(a,b)+"赢了");
}else{
System.out.println("平局");
}
}
public static void main(String[] args){
Contest ct=new Contest();
for(int i=0;i<10;i++){
ct.rule();
}
}
}
注:
原创代码,如有雷同,纯属巧合
代码有许多不足,欢迎留言讨论和更正