我正在写一个程序,我迫切需要一些帮助.
我有一个类需要同时跟踪多个对象.
我试着这样做:
public class tracker {
private String[] Name;
private int NameCounter;
public void getName(String name) {
Name[NameCounter] = name;
NameCounter = NameCounter + 1;
}
public static void main(String[] args) {
getName("Name1");
getName("Name2");
System.out.println(Name[1] + " " + Name[2])
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,说我有一个NullPointerException.我该怎么办?
Name 为null,因为您没有实例化该数组.
你可以做
private String[] Name = new String[2];
Run Code Online (Sandbox Code Playgroud)
但是,由于数组具有固定长度,如果您认为可能需要更多名称,我建议您在此处使用ArrayList:
public class tracker {
private ArrayList<String> names = new ArrayList<String>(); // please follow naming conventions
public void addName(String name) { // getName is a baaad name for a method that changes a variable
names.add(name);
}
public static void main(String[] args) { // main, not mian
addName("Name1");
addName("Name2");
System.out.println(names.get(0) + " " + names.get(1)) // the second one is at index 1, not 0
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |