我遇到一个数组错误,说它超出范围,我不知道出了什么问题。这是我的代码:
import java.util.*;
public class gameVar {
public static int size;
public static int counter;
public static Scanner input = new Scanner(System.in);
public static String currentIn;
public static String nameArray[] = new String[size];
}
和第二类(我在第 6 行收到错误):
public class mainThread extends gameVar {
public static void main(String[] args){
System.out.println("Please type the desired amount of players: ");
size = input.nextInt();
for(int counter = 0; counter < size; counter++){
System.out.println("Please enter the name of player " + nameArray[counter])
}
}
}
非常感谢您的帮助!
最佳答案
以下分配零元素数组:
public static int size;
public static String nameArray[] = new String[size]; // <<<< Here, `size` is zero
您需要将数组初始化移至main()
:
public static void main(String[] args){
System.out.println("Please type the desired amount of players: ");
size = input.nextInt();
nameArray = new String[size]; // <<< THIS
for(int counter = 0; counter < size; counter++){
System.out.println("Please enter the name of player " + nameArray[counter])
}
}
}
然后,您可以从 nameArray
的声明中删除 = new String[size]
。
关于java - 字符串数组错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15596461/