enum枚举

package com.example.weixindemo;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

/**
* Personnel class
*
* @author TransientBa
* @date 2018/2/28
*/
public enum Nume {

小明("男",21,86),
小红("女",22,55){
    @Override
    public boolean isPass(){
        return false;
    }
},
小蓝("男",23,73);
private String sex;
private int age;
private int result;
/* 构造 */
private Nume(String sex,int age,int result){
    this.sex = sex;
    this.age = age;
    this.result = result;
}

@Override
public String toString() {
    return this.name()+"  性别:"+this.getSex() + "  年龄:"+this.getAge()+"  成绩为:"+this.getResult();
}

/**
 * 调出简介
 *
 * @return
 */
public String callResume(){
    Nume personnel = this;
    switch (personnel){
        case 小明:
            System.out.println(this.name()+"的简介为:");
            System.out.println(this.toString());
            System.out.println("是否通过了考试: "+this.isPass());
            break;
        case 小红:
            System.out.println(this.name()+"的简介为:");
            System.out.println(this.toString());
            System.out.println("是否通过了考试: "+this.isPass());
            break;
        default:
            System.out.println(this.name()+"的简介为:");
            System.out.println(this.toString());
            System.out.println("是否通过了考试: "+this.isPass());
            break;
    }
    System.out.println("--- --- --- --- --- --- ---");
    return "";
}

/**
 * 比较成绩
 * @param otherPersonnel
 * @return
 */
public String compareResult(Nume otherPersonnel){
    System.out.println(this);
    System.out.println(otherPersonnel);
    int pr1 = this.getResult();
    int pr2 = otherPersonnel.getResult();
    String pn1 = this.name();
    String pn2 = otherPersonnel.name();
    return pr1 > pr2 ? pn1+"比"+pn2+"高"+(pr1-pr2)+"分":(pr1 < pr2 ? pn1+"比"+pn2+"低"+(pr2-pr1)+"分":pn1+"与"+pn2+"成绩相同");
}

public String compareStudentNumber(Nume personnel){
    String pn1 = this.name();
    String pn2 = personnel.name();
    String tipStuNumber = "";
    //compareTo返回负整数(小于) 零(登录) 正整数(大于)  由 pn1.ordinal - pn2.ordinal产生
    if(this.compareTo(personnel) >0){
        tipStuNumber = pn1+"的学号在"+pn2+"之后";
    }else if(this.compareTo(personnel) < 0){
        tipStuNumber = pn1+"的学号在"+pn2+"之前";
    }else {
        tipStuNumber = "两个人的学号相同";
    }
    return pn1+"的学号为:"+((int)this.ordinal()+1)+"   "+pn2+"的学号为:"+((int)personnel.ordinal()+1)+"\n"+tipStuNumber;
}

public static void main(String[] args) {

// for(Personnel personnel:Personnel.values()){
// System.out.println(personnel.name()+”的简介为:”);
// System.out.println(personnel.toString());
// System.out.println(“是否通过了考试:” + personnel.isPass());
// System.out.println(“———————-“);
// }
Nume.小明.callResume();
System.out.println(Nume.小红.compareResult(Nume.小明));
System.out.println(Nume.小明.compareStudentNumber(Nume.小蓝));
/**
* name返回当前定义的枚举名 values返回所有的枚举值
*/
for(Nume nume:Nume.values()){
System.out.println(nume.name()+”的简介为:”);
System.out.println(nume.toString());
System.out.println(“是否通过了考试:” + nume.isPass());
System.out.println(“———————-“);
}
}

public boolean test(){
    return false;

}
public String getSex() {
    return sex;
}

public void setSex(String sex) {
    this.sex = sex;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public boolean isPass(){
    return true;
}

public int getResult() {
    return result;
}

public void setResult(int result) {
    this.result = result;
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值