繁体   English   中英

如何使用对象类中某些值的结果来计算其他值并在创建时进行设置?

[英]How do I use the results from some values in an object class to calculate others and set when created?

我有一个对象类 Pupilinfo

public class Pupilinfo {
    public Pupilinfo(String name, String level, int yearstarted, String currentclass) {
        this.name = name;
        this.level = level;
        this.yearstarted = yearstarted;
        this.currentclass = currentclass;
    }

    String name, level;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public int getYearstarted() {
        return yearstarted;
    }

    public void setYearstarted(int yearstarted) {
        this.yearstarted = yearstarted;
    }

    public String getCurrentclass() {
        return currentclass;
    }

    public void setCurrentclass(String currentclass) {
        this.currentclass = currentclass;
    }

    int yearstarted;
    String currentclass = "";
}

学生 currentClass 是他们当前年份(基于实际年份和开始时间)和当前级别的混合,因此类似于 10b1

我希望任何学生的 currentClass 默认为

public String myclass() {
    String theclass;
    int myyear;
    DateFormat dateFormatmonth = new SimpleDateFormat("MM");
    DateFormat dateFormatyr = new SimpleDateFormat("yyyy");
    Date date = new Date();


    int monthnow = Integer.parseInt(String.valueOf(date));
    int yearnow = Integer.parseInt(String.valueOf(date));
    if (monthnow > 8) {
        Log.d("dates", "is passed August");
        myyear = yearnow - this.yearstarted + 7;
        Log.d("dates", "myyear");
    } else {
        Log.d("dates", "is before September");
        myyear = yearnow - this.yearstarted + 6;
    }


    return myyear + this.level;}

我真的很挣扎对这个很陌生。 我什至不知道这是否可能。

帮助?

排序。 从构造函数内部调用方法

public class Pupilinfo {
public Pupilinfo(String name, String level, int yearstarted, String theclass) {
    this.name = name;
    this.level = level;
    this.yearstarted = yearstarted;
    this.currentclass =myclass(yearstarted,this.level);

}

@Override
public String toString() {
    return "Pupilinfo{" +
            "name='" + name + '\'' +
            ", level='" + level + '\'' +
            ", yearstarted=" + yearstarted +
            ", currentclass='" + currentclass + '\'' +
            '}';
}

String name, level;

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getLevel() {
    return level;
}

public void setLevel(String level) {
    this.level = level;
}

public int getYearstarted() {
    return yearstarted;
}

public void setYearstarted(int yearstarted) {
    this.yearstarted = yearstarted;
}

public String getCurrentclass() {
    return currentclass;
}

public void setCurrentclass(String currentclass) {
    this.currentclass = currentclass;
}

int yearstarted;
String currentclass = "";



public String myclass(int ystart,String lvl) {
    String theclass;
    int myyear;
    DateFormat dateFormatmonth = new SimpleDateFormat("MM");

    Date date = new Date();
    Log.d("date", String.valueOf(date));
    int yearnow = Calendar.getInstance().get(Calendar.YEAR);

    int monthnow = Integer.parseInt(dateFormatmonth.format(date));
    if (monthnow > 8) {
        myyear = yearnow - ystart + 7;
    } else {
        myyear = yearnow - ystart + 6;
    }

    return myyear + lvl;
}
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM