java - 如何创建一个构造函数来初始化具有给定名称和 "given list of phones"的联系信息

标签 java drjava

对于家庭作业,创建我们在整个作业中使用的类的一部分要求我创建遵循准则的构造函数

ContactInfo()

默认构造函数并初始化名称=“未知”的联系信息和一个空列表 (零的长度)”

ContactInfo(字符串名称,ArrayList 电话号码)

构造函数并使用给定的名称和给定的电话列表初始化联系信息。”

<小时/>

这是我们第一个使用构造函数和数组列表的作业,我们的教科书几乎没有关于实际编写它们的信息,而不是它们的作用。

这就是我到目前为止所写的内容。

import java.util.ArrayList;
import java.util.List;

public class ContactInfo {
    public String name;
    public ArrayList<Phone> phoneNums;

    public ContactInfo() {
        String name = "unknown";
        ArrayList phoneNumber = new ArrayList<Phone>(0);
    }

    public ContactInfo(String name, ArrayList<Phone> phoneNumber) {
        this.name = name;
        this.phoneNumber = phoneNumber;
    }
}

我收到“找不到符号变量phoneNumber”错误,但是我很确定它已初始化并且该方法可以访问它。我对如何使用构造函数并完成帖子顶部描述的指南感到非常困惑。我的教授不愿意在感恩节假期查看他的电子邮件,所以我无法联系他寻求帮助。

编辑:我们有另一个提供的源文件包含在此代码中,但是所有方法和变量都是私有(private)的(我们也不允许更改此文件),所以我不确定它们是否会有帮助。

最佳答案

您正在尝试为不存在的变量(phoneNumber)设置一个值。 这是引用当前对象的引用变量。 因此,这是引用 ContactInfo 对象,其中phoneNumber 不存在。

你可以这样做

public ContactInfo(String name, ArrayList<Phone> phoneNumber) {
    this.name = name;
    this.phoneNums = phoneNumber;
}

或者

将phoneNums重命名为phoneNumber

关于java - 如何创建一个构造函数来初始化具有给定名称和 "given list of phones"的联系信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59131053/

相关文章:

java - 检查输入到数组中的输入是否正确/不正确

java - 循环 BigInteger 的有效方法

java - 我不明白为什么 DrJava 不会输出 Unicode 符号

java - 如何使程序在不重置的情况下使用不同的变量?

java - 最后一个字节时间和响应时间之间的差异

java - 使用 Kafka、Zookeeper 和 MongoDB Dockerize Spring Boot Java 应用程序

java - 在 Java 中集中处理输入

java - drjava JFrame 帮助对象在 KeyEvent 按钮释放后不会继续移动

java - NullPointerException java 声音文件

java - repaint() 在 keylistener 之外不起作用