我創建了一個有幾個對象的類。如何將值複製到對象數組
class SalesPerson {
String number;
String name;
double salesAmount;
}
所以現在我需要一些數據從文本文件複製到一個數組。
「sales.txt」
S0001
Alice
2000
S0002
Bob
3400
S0003
Cindy
1200
S0004
Dave
2600
下面是我的代碼的縮短版,假設的getName(S)的setName(S)和構造函數創建文本文件可以成功讀取:
class ArrayImport {
public static void main(String args[]) throws FileNotFoundException {
String fileName = "sales.txt";
SalesPerson sp = new SalesPerson[4]; //Manually counted
//Read the file
Scanner sc = new Scanner(new FileReader(fileName));
//Copy data to array
int i = 0;
while (sc.hasNext()) {
sp[i].name = sc.nextLine(); //Error starts here
sp[i].number = sc.nextLine();
sp[i].salesAmount = Double.parseDouble(sc.nextLine());
i++;
}
}
}
我收到錯誤消息「在線程異常‘主’顯示java.lang.NullPointerException ......」她指着我的評論「錯誤S上線撻這裏「。
所以我猜這不是給對象數組賦值的方法,如果我的猜測是正確的,那麼正確的語法是什麼?
您尚未創建SalesPerson'的'任何實例。在你開始分配給單個字段之前,你所缺少的就是'staff [i] = new SalesPerson();'' (我個人寫了一個接受三個參數的'SalesPerson'構造函數,但這是另一回事,我還使用'BigDecimal'作爲貨幣值而不是'double')。 –