Java 添加一个成员,然后让该成员添加其他内容
我的问题是我正在添加一个工作正常的成员,但是如何让该成员添加其他内容,例如Java 添加一个成员,然后让该成员添加其他内容,java,Java,我的问题是我正在添加一个工作正常的成员,但是如何让该成员添加其他内容,例如 members.add(member); member.addCompetiton(raffles); StdOut.println(member.toString()); when i return my toString it is blank. toString==>> [bmi=4.0, height=4.0, raffles=[], name=e, address=e, dob=e, mempa
members.add(member);
member.addCompetiton(raffles);
StdOut.println(member.toString());
when i return my toString it is blank.
toString==>>
[bmi=4.0, height=4.0, raffles=[], name=e, address=e, dob=e, mempaid=4.0]
这是我试图添加它的类,这是我尝试添加它的方法
import java.util.ArrayList;
public class ElitePlayer extends Member {
protected double bmi;
protected double height;
private ArrayList<Competition> raffles;
public ElitePlayer(String name, String address, String dob, double mempaid,
double bmi, double height) {
super(name, address, dob, mempaid);
this.bmi = bmi;
this.height = height;
raffles = new ArrayList<Competition>();
}
public double getBmi() {
return bmi;
}
public void setBmi(double bmi) {
this.bmi = bmi;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getMempaid() {
if (this.mempaid > 10)
this.mempaid = 10;
return mempaid;
}
double calculateMembershipFeeOwed() {
double owed = 10;
return owed;
}
void addCompetiton(Competition raffles){
}
void removeCompetiton(Competition raffles){
}
@Override
public String toString() {
return "ElitePlayer [bmi=" + bmi + ", height=" + height + ", raffles="
+ raffles + ", name=" + name + ", address=" + address
+ ", dob=" + dob + ", mempaid=" + mempaid + "]";
}
}
public void addElitePlayer(Member mem) {
StdOut.println("Please enter the Elite members's name: ");
System.out
.println("-------------------------------------------------------------------------------------------");
StdIn.readLine();
String name = StdIn.readLine();
StdOut.println("Please enter the Elite members's address: ");
System.out
.println("-------------------------------------------------------------------------------------------");
String address = StdIn.readLine();
StdOut.println("Please enter the Elite members's DOB: ");
System.out
.println("-------------------------------------------------------------------------------------------");
String dob = StdIn.readLine();
StdOut.println("Please enter the the amount to Pay: ");
System.out
.println("-------------------------------------------------------------------------------------------");
double mempaid = StdIn.readDouble();
StdOut.println("Please enter the Elite members's BMI: ");
System.out
.println("-------------------------------------------------------------------------------------------");
double bmi = StdIn.readDouble();
StdOut.println("Please enter the Elite members's height: ");
System.out
.println("-------------------------------------------------------------------------------------------");
double height = StdIn.readDouble();
ElitePlayer member = new ElitePlayer(name, address, dob, mempaid, bmi,
height);
if (mempaid > 10) {
StdOut.print("You have overpaid, your change is ");
StdOut.println(mempaid -= 10);
System.out
.println("-------------------------------------------------------------------------------------------");
}
// Competition raffles = new Competition();
members.add(member);
member.addCompetiton(raffles);
StdOut.println(member.toString());
import java.util.ArrayList;
公共类ElitePlayer扩展了成员{
保护性双体质量指数;
保护双高;
莱佛士私人酒店;
公共精英层(字符串名称、字符串地址、字符串dob、双mempaid、,
双倍体重指数,双倍身高){
super(姓名、地址、dob、mempaid);
该指数为bmi=bmi;
高度=高度;
莱佛士=新ArrayList();
}
公共双getBmi(){
返回体重指数;
}
公共健康指数(双倍体重指数){
该指数为bmi=bmi;
}
公众双倍身高(){
返回高度;
}
公共空间设置高度(双倍高度){
高度=高度;
}
公共双getMempaid(){
如果(this.mempaid>10)
这个.mempaid=10;
已支付的报酬;
}
双重计算成员shipfeeowed(){
双欠=10;
归还欠款;
}
void AddCompetition(莱佛士竞赛){
}
void removeCompetiton(莱佛士竞赛){
}
@凌驾
公共字符串toString(){
return“精英球员[bmi=“+bmi+”,height=“+height+”,莱佛士=”
+莱佛士+”,name=“+name+”,address=“+address
+“,dob=“+dob+”,mempaid=“+mempaid+”];
}
}
公共玩家(成员mem){
println(“请输入精英成员的姓名:”);
系统输出
.println(“---------------------------------------------------------------------------------------------------------------”;
StdIn.readLine();
字符串名称=StdIn.readLine();
println(“请输入精英成员的地址:”);
系统输出
.println(“---------------------------------------------------------------------------------------------------------------”;
字符串地址=StdIn.readLine();
println(“请输入精英成员的DOB:”);
系统输出
.println(“---------------------------------------------------------------------------------------------------------------”;
字符串dob=StdIn.readLine();
println(“请输入要支付的金额:”);
系统输出
.println(“---------------------------------------------------------------------------------------------------------------”;
double mempaid=StdIn.readDouble();
println(“请输入精英会员的BMI:”);
系统输出
.println(“---------------------------------------------------------------------------------------------------------------”;
double bmi=StdIn.readDouble();
println(“请输入精英成员的身高:”);
系统输出
.println(“---------------------------------------------------------------------------------------------------------------”;
双倍高度=标准din.readDouble();
ElitePlayer成员=新的ElitePlayer(姓名、地址、dob、mempaid、bmi、,
高度);
如果(mempaid>10){
打印(“您多付了,您的零钱是”);
标准打印项数(mempaid-=10);
系统输出
.println(“---------------------------------------------------------------------------------------------------------------”;
}
//竞赛莱佛士=新竞赛();
成员。添加(成员);
成员:addCompetiton(莱佛士);
StdOut.println(member.toString());
或者
void addCompetiton(Competition raffles){
this.raffles = raffles;
}
或
我推测您的问题是参数的名称与字段的名称相同。您可以使用
this.raffles
来表示字段。向我们显示您的成员类的来源。这个问题没有意义,请澄清。感谢Joop Eggen的款待。
void addCompetiton(Competition competition){
raffles = competition;
}