我正在学习Java语言的构造函数以及对象和方法。我理解非参数和参数构造函数之间的区别,但是我在代码上遇到了一个似乎无法弄清的问题。
我正在编写用于捕获注册信息的代码。我创建了一个class CompetitionEntry
,并在类内部插入了2个私有属性,分别为private String projecTitle;
和private int teamSize;
,以及一个类属性,分别为double feePerParticipant = 6.50;
和初始值$ 6.50。
然后创建一个无参数的构造函数,并将其初始化为projectTitle = "N/A";
和teamSize = 0;
。重载的构造函数,使用传入的参数初始化属性。
并且我为属性teamSize创建了Mutator和Accessor方法,但是我想确保它只包含正值。最后,我通过将teamSize与feePerParticipant相乘来创建方法调用computeTeamFee()
,该调用返回总费用。
我想让我的代码从computeTeamFee();
方法中获得团队总费用的输出,但我似乎找不到问题所在,并且我需要初始化对象(使用构造函数)
而且我只能从objects方法更改为更改值并显示输出。
请帮助我。我越来越困惑了。
public class CompetitionEntry {
private String projectTitle;
private int teamSize;
double feePerParticipant = 6.50;
public CompetitionEntry () {
this.projectTitle = "N/A";
this.teamSize = 0;
}
public void setTeamSize(int teamSize) {
//This part i not to sure how to read only positive value.
if (this.teamSize <= 0) {
System.out.println ("Negative value are not acceptable.")
}
else {
this.teamSize = teamSize;
}
}
public int getTeamSize() {
return teamSize;
}
public double computeTeamFee() {
double totalFee;
totalFee = this.teamSize * feePerParticipant;
return totalFee;
}
public static void main(String[] args) {
CompetitionEntry obj = new CompetitionEntry ("Super Tech","5");
System.out.println("Title: " + obj.projectTitle);
System.out.println("Team Size: " + obj.teamSize);
}
}
我正在学习Java语言的构造函数以及对象和方法。我了解了非参数和参数构造函数之间的区别,但是我的代码遇到了一个问题,我似乎无法......>
似乎您没有收到任何用户输入,所以也许看看https://www.w3schools.com/java/java_user_input.asp。
而且,您的构造函数没有任何参数,因此您应该将构造函数更改为:
当创建CompetitionEntry对象时,您为其输入参数“ Super Tech”和“ 5”。
CompetitionEntry obj = new CompetitionEntry();
obj.setTeamSize(5);
System.out.println("Team Size: " + obj.teamSize);