gpt4 book ai didi

java - 在 java 中使用数组的 get 和 set 方法

转载 作者:行者123 更新时间:2023-12-02 04:43:02 24 4
gpt4 key购买 nike

我的 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,因为该对象为 null。在创建对象之前,您无法对其执行方法。例如:

Canopy[] canopy=new Canopy[5];  //Creates a 'storage' for 5 Canopy objects
System.out.println(Canopy[0]); //Prints null and throws NPE if you execute method

Canopy[0]=new Canopy(); //Create new Canopy object and insert it in the array

System.out.println(Canopy[0]); //Not null anymore - you can execute methods
Canopy[0].setCanopy("CAN123", "Model1", 500, 200, 500, 5, 15, 10, "Available"); // works fine

关于java - 在 java 中使用数组的 get 和 set 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942333/

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