Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java blueJ类成员/局域网 import java.util.ArrayList; 公共类局域网 { 私人ArrayList成员; 公共局域网() { members=newarraylist(); } public void addMember(成员newMember) { 如果(余额>=200) { this.members.add(newMember); } 其他的 { System.out.println(“您没有足够的钱进入”); } } }_Java - Fatal编程技术网

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)