Java之面向对象小程序1

有个比赛项目,两个选手一个裁判。比赛规则:选手出手指头,根据出的手指头个数来定输赢。规则:5赢4、4赢3、3赢2、2赢1、1赢5.其他算平局。使用面向对象来模拟出比赛:两个选手要定出输赢。

public class Contest{

    private int a;
    private int b;
    /**
      *定义一个比较大小的方法
      *与以往的常见的比较大小的三目运算
      *a>b?a: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";
    }
    /**
      *仔细观察比赛规则可以发现
      *除开平局以外的几对数字相差为1或者4
      *相差为1时数值大的赢,相差为4时数值小的赢
      */
    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);
        /*如果One(a,b)方法为真,就代表
          非平局,再用max(a,b)方法得出
          获胜者*/
        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();
        }
    }

}

注:
原创代码,如有雷同,纯属巧合
代码有许多不足,欢迎留言讨论和更正

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值