【发布时间】:2015-04-29 11:26:48
【问题描述】:
我的 java 作业的一部分要求我使用 set 方法将详细信息输入到数组中。到目前为止,我有以下方法来设置细节
public void setCanopy(String uniqueRef, String modelName, int width, int height, int depth, int crewToBuild, double timeToBuild, double trailerLength, String available)
{
this.uniqueRef = uniqueRef;
this.modelName = modelName;
this.width = width;
this.height = height;
this.depth = depth;
this.timeToBuild = timeToBuild;
this.available = available;
this.crewToBuild = crewToBuild;
this.trailerLength = trailerLength;
}
只要它只用于向构造函数输入详细信息,此方法就可以正常工作,但是当我尝试将它与数组一起使用时,我得到了 NullPointerException。
我还必须稍后在使用 get 方法时显示这些详细信息。我正在使用以下方法来显示这些,但同样,它仅在我使用构造函数时才有效。
public static void displayCanopyDetails(Canopy c)
{
System.out.println("Canopy reference number: " + c.getUniqueRef() + "\nCanopy model name: " + c.getModelName() +
"\nCanopy Dimensions (cm) - Width: " + c.getWidth() + " Height: " + c.getHeight() + " Depth: " + c.getDepth() +
"\nCrew to build: " + c.getCrewToBuild() + "\nTime to build canopy (minutes): " + c.getTimeToBuild() +
"\nTrailer Length: " + c.getTrailerLength() + "\nAvailability: " + c.getAvailable());
}
任何帮助使这些与数组一起使用将不胜感激。谢谢。
在我的主要方法中,我有
tentDetails(c[0]);
调用方法
public static void tentDetails(Canopy c1,)
{
c1.setCanopy("CAN123", "Model1", 500, 200, 500, 5, 15, 10, "Available");
}
尝试运行此方法时发生 NullPointerException 错误。
【问题讨论】:
-
哪里的代码不起作用?
-
你是什么意思:"但是当我尝试将它与数组一起使用时,我得到一个 NullPointerException"?
-
你需要使用构造函数,否则没有创建对象。如果您使用数组,例如 Canopy[] canopy=new Canopy[5];然后 Canopy[1].object=5 你得到 NullPointer 因为数组为你提供了对象存储,但初始化数组不会在里面创建对象。它们是空值。如果你检查 Canopy[1] 它是空的..
-
我已更新我的帖子以显示尝试将详细信息输入数组的方法。这是 NullPointerException 发生的地方。