gpt4 book ai didi

java - 使用数组而不是ArrayList。用户必须写入数组提供的确切数据数。

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

使用数组而不是ArrayList。用户必须写入数组提供的确切数据数。我得到的错误是NullPointerException,例如,如果我的数组Dinfo和数组Linfo有1,我只能为每个类写入1个数据。但是如果我为数组 Dinfo 和 Linfo 输入 100,我就必须写入 100 个数据才能显示我的信息。如果不是,我将得到一个空指针异常。

    import java.util.*;
public class testMain
{
public static void main(String args[])
{
String User;
Scanner scanner = new Scanner(System.in);
Desktop[] Dinfo = new Desktop[100];
Laptop[] Linfo = new Laptop[100];
int D = 0;
int L = 0;

int A;
int B;

do
{
System.out.println("****************** Artificial Intelligence Co. **********");
System.out.println("Computer Menu");
System.out.println("1. Add a new Desktop Information");
System.out.println("2. Add a new Laptop Information");
System.out.println("3. Display all Computer Information");
System.out.println("4. Quit");
System.out.println("*********************************************************");
System.out.print("Please enter either 1 to 4: ");
User =(scanner.nextLine());

if (User.equals("1"))
{
Dinfo[D] = new Desktop();
Dinfo[D].setDisplayDesktopInfo();
D++;


}

else if (User.equals("2"))
{

Linfo[L] = new Laptop();
Linfo[L].setDisplayLaptopInfo();
L++;


}

else if(User.equals("3"))
{
for(A= 0; A < Dinfo.length; A++)
{

System.out.println("=======================Desktop===========================");
Dinfo[A].getDisplayDesktopInfo();

System.out.println("");



}

for(B = 0; B < Linfo.length; B++)
{

System.out.println("=======================Laptop============================");
Linfo[B].getDisplayLaptopInfo();

System.out.println("");


}

}


else if(User.equals("4"))
{
System.out.println("Thank You!");
}
}
while(!User.equals("4"));


}

}

最佳答案

只需放置一个 null 检查即可:

if (Dinfo[A] != null) {
Dinfo[A].getDisplayDesktopInfo();

System.out.println("");
}

Linfo[B] 类似。

显然,使用ArrayList要容易得多。

关于java - 使用数组而不是ArrayList。用户必须写入数组提供的确切数据数。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32130950/

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