gpt4 book ai didi

java - 请帮助我自引用指针

转载 作者:行者123 更新时间:2023-11-30 09:30:05 25 4
gpt4 key购买 nike

我写了两个类,第一个是成员(member),第二个是商店。我写了一个可以从成员类创建对象的方法,我试图在成员类中编写 Store 类型的字段存储,我希望它存储对成员输入的存储的引用。有人告诉我这样做:memberRegister() 需要作为参数传递一个指向您当前所在的 Store 对象的指针。

事实上,Store 对象需要能够告诉 Member 对象“指向我”。也就是说,Store 对象需要一个指向自身的指针。 但是我没有得到它

这是成员类

private int pinNumber;
private String name, id;
private Store store;


/**
* Constructor for objects of class Member
*/
public Member(String name, String id, int pinNumber, Store store)

{
// initialise instance variables
this.name = name;
this.id = id;
this.pinNumber = pinNumber;
checkId();
checkPinNumber();
}

/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
private void checkId()
{
// put your code here
int length;
length = id.length();
if (length > 10 ){
System.out.println("lentgh must be at 10 ");
}
}
private void checkPinNumber()
{
int length;
length = id.length();
if ((length > 4) && (length < 4 )){
System.out.println("lentgh must be at 4");
}

类存储

   private String storeName;
private int total;
private Member member;


/**
* Constructor for objects of class Store
*/
public Store(String storeName, int total)
{
// initialise instance variables
this.storeName = storeName;
this.total = total;
}

/**
*
*/
public String getStoreName()
{
return storeName;
}

/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
public Member memberRegister(String name, String id, int pinNumber)
{
// put your code here
Member member;
member = new Member(name, id, pinNumber)
return member;
}

最佳答案

您的 memberRegister 方法没有正确调用您的 Member 构造函数:

public Member memberRegister(String name, String id, int pinNumber)
{
// put your code here
Member member;
member = new Member(name, id, pinNumber, this) //this passes in a reference to your store
return member;
}

然后在成员构造函数中分配引用:

public Member(String name, String id, int pinNumber, Store store)

{
// initialise instance variables
this.name = name;
this.id = id;
this.store = store //where this.store is a Store
this.pinNumber = pinNumber;
checkId();
checkPinNumber();
}

希望对您有所帮助。顺便说一句,更新评论,使其与您的代码相匹配。

关于java - 请帮助我自引用指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13435074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com