gpt4 book ai didi

java - 数组中的 Getter 和 Setter

转载 作者:行者123 更新时间:2023-12-01 18:24:17 25 4
gpt4 key购买 nike

我需要帮助来解决下面代码中的意外输出。我创建了一个名为“Student”的类,主类名为“MainStudent”,当我尝试将 Student 对象设置为数组并使用 setter 输入数据时,我没有错误的代码,但是当我运行代码时,输​​出是这样的就像这个:

Exception in thread "main" java.lang.NullPointerException

我正在使用 NetBeans 编写 Java 代码。

import javax.swing.JOptionPane;
public class MainStudent {

public static void main(String[] args) {
String a,b;
int c;
Student[] std = new Student[3];
for(int i=0; i<std.length; i++){
a = JOptionPane.showInputDialog("Enter Student Name");
b = JOptionPane.showInputDialog("Enter Student Address");
c = Integer.parseInt(JOptionPane.showInputDialog("Enter Student Phone Number"));
std[i].setName(a);
std[i].setAddress(b);
std[i].setPhone_number(c);
}

for(int i=0; i<std.length; i++){
System.out.println(std[i].getName());
}
}

}

最佳答案

您需要使用 Students 实例化您的数组。

在循环顶部添加:

std[i] = new Student();

行:

Student[] std = new Student[3];

仅创建一个数据结构,能够容纳三个学生。数组内的索引实际上不包含任何内容,并且实际上包含空值,这就是您获得空指针的原因。你说“Structure std,给我索引 i 中的东西”,它会立即给你一个空值,因为你从未将任何东西放入索引 i 中。

关于java - 数组中的 Getter 和 Setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26764505/

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