【发布时间】:2015-11-23 12:44:07
【问题描述】:
我正在尝试从数组自动生成字符串值并将它们添加到另一个数组,但我有一个 nullPointer 异常。
protected static Random generator = new Random();
protected static String[] townNames = { "Paris", "Sofia", "Wiena", "Amsterdam" };
protected static String[] arr;
public static void main(String[] args) {
for (int i = 0; i < towns.size(); i++) {
arr[i] = townNames[generator.nextInt(townNames.length)];
}
for (String i : arr) {
System.out.println(i);
}
}
编辑
我已经编辑了代码,现在它可以正常工作了。
protected static Random generator = new Random();
protected static ArrayList<String> townNames = new ArrayList<>();
protected static ArrayList<String> generatedTowns = new ArrayList<String>();
public static void main(String[] args) {
generatedArr(generatedTowns);
}
public static void generatedArr(ArrayList<String> a) {
townNames.add("Paris");
townNames.add("Sofia");
townNames.add("Wiena");
townNames.add("Amsterdam");
townNames.add("Chikago");
townNames.add("Vienna");
townNames.add("Miami");
townNames.add("Boston");
townNames.add("New Orleans");
for (int i = 0; i < 4; i++) {
String value = townNames.get(generator.nextInt(townNames.size()));
generatedTowns.add(value);
townNames.remove(value);
}
for (String i : a) {
System.out.println(i);
}
}
【问题讨论】:
-
请查看:stackoverflow.com/help/mcve。你看,问题是如果有人想帮助你,那么首先必须让你的代码运行起来。找到所有丢失的导入,想出一个城镇级等......你应该提供代码,这样我就可以复制粘贴它并运行它......像这样首先必须投入半个小时的工作只是为了达到你现在的位置......另外,你可以告诉我们你得到了什么以及你期望什么......
-
@dingalapadum 我编辑了我的帖子。
-
我仍然无法编译它......仍然缺少一些东西:类,导入......无论如何:快速浏览我认为问题是你从未初始化
arr -
如果您要显示代码,您应该标记问题所涉及的语言。它可以帮助其他人找到问题,它也会影响代码块的语法着色,
-
我编辑了我的答案并发布了您应该能够复制粘贴并运行的代码...
标签: java arrays foreach nullpointerexception