所以我正在尝试编写一些代码,每次通过循环时我基本上都需要将数组扩展一个。是的,我知道数组是固定大小的,而且我每次都需要一个新数组。我也知道,如果我使用列表而不是数组,我不会有任何问题,但是我被迫使用数组。
我的代码是这样的:
public static void getAnimals()
{
String animalName[] = new String[1];
int animalNumber[] = new int[1];
int lengthOfAnimals;
animalName[0] = "Null";
animalNumber[0] = 0;
while (!animalName[animalName.length - 1].equals("EXTERMINATE"))
{
animalName[animalName.length - 1] = JOptionPane.showInputDialog("Name an animal?");
String numLeft = JOptionPane.showInputDialog("How many are left?");
animalNumber[animalNumber.length - 1] = Integer.parseInt(numLeft);
if (animalName[animalName.length - 1].equals("EXTERMINATE"))
{
break;
}
else
{
System.out.println(animalName[animalName.length - 1]);
animalName = expandName(animalName);
animalNumber = expandNumber(animalNumber);
}
}
}
public static String[] expandName(String animalName[])
{
String animalNameExpanded[] = new String[animalName.length + 1];
for (int a = 0; a <= animalName.length - 1; a++)
{
animalNameExpanded[a] = animalName[a];
}
return animalNameExpanded;
}
public static int[] expandNumber(int animalNumber[])
{
int animalNumberExpanded[] = new int[animalNumber.length + 1];
for (int a = 0; a <= animalNumber.length - 1; a++)
{
animalNumberExpanded[a] = animalNumber[a];
}
return animalNumberExpanded;
}
现在,当它运行时,get 放入animalName 和animalNumber 的值现在为null。发生了什么事,我该如何解决这个问题。