Java blueJ类成员/局域网 import java.util.ArrayList; 公共类局域网 { 私人ArrayList成员; 公共局域网() { members=newarraylist(); } public void addMember(成员newMember) { 如果(余额>=200) { this.members.add(newMember); } 其他的 { System.out.println(“您没有足够的钱进入”); } } }
在Java blueJ类成员/局域网 import java.util.ArrayList; 公共类局域网 { 私人ArrayList成员; 公共局域网() { members=newarraylist(); } public void addMember(成员newMember) { 如果(余额>=200) { this.members.add(newMember); } 其他的 { System.out.println(“您没有足够的钱进入”); } } },java,Java,在Member类中,我得到了一个余额,在这里您输入了成员“money”的余额,在Lan类中,如果成员的余额为200,我希望您可以输入Lan“addmembertothearray”。我无法使balance字段按其应有的方式运行并将其导入到Lan类中。让我们检查addMember方法: import java.util.ArrayList; public class Lan { private ArrayList<Member> members; public La
Member
类中,我得到了一个余额,在这里您输入了成员“money”的余额,在Lan
类中,如果成员的余额为200,我希望您可以输入Lan“addmembertothearray”。我无法使balance字段按其应有的方式运行并将其导入到Lan
类中。让我们检查addMember
方法:
import java.util.ArrayList;
public class Lan
{
private ArrayList<Member> members;
public Lan()
{
members = new ArrayList<Member>();
}
public void addMember(Member newMember)
{
if(balance >= 200)
{
this.members.add(newMember);
}
else
{
System.out.println("You dont have enough money to enter");
}
}
}
在这里,您试图决定是否应将新成员
添加到列表成员
。问题是,balance
无法解决,因为Lan
类或addMember
方法中没有此类变量
这很容易解决,因为您正试图访问存储在newMember
对象中的字段,因此可以进行更改
public void addMember(Member newMember)
{
if(balance >= 200)
{
this.members.add(newMember);
}
//...
}
到
这样,您就可以直接访问newMember
对象中的balance
字段的值
请注意,此访问仅是可能的,因为该字段的访问修饰符是public
。如果它是private
,就像其他字段一样,则需要一个getter方法,如:
if (newMember.balance >= 200)
然后像这样使用它:
public int getBalance()
{
return belance;
}
因为使用总是一个好主意,所以最好将此字段设置为
private
并使用getter。如果(balance>=200)不应该是如果(newMember.balance>=200)
?非常感谢Tom,它成功了!:这真是个乐于助人的人!我把它改成了私人的,现在就这样做了。现在,如果我要打印出谁在局域网上,所有注册的成员,我需要使用interator吗?我该怎么做?谢谢你的帮助。如果这个答案对你有帮助,那就别忘了。要打印列表,只需覆盖Member
中的toString
方法(internet上有很多示例;),然后调用System.out.println(members)
。
if (newMember.balance >= 200)
public int getBalance()
{
return belance;
}
if (newMember.getBalance() >= 200)