我正在編寫一個應用程序,我在類中使用了一個數組。這個數組在全局方法範圍之外聲明,以便所有的對象方法都能夠訪問數據。但是,當我將一個對象分配給索引時,該對象僅作爲該特定方法中數組的一部分提供。試圖讀取該數組索引的任何其他方法都會得到一個nullpointerexception。Java數組和範圍
一些代碼說明我的用法:
Account[] accounts = new Account[8000];
public void addAccount() {
cli.printMessage("Welcome to the account add wizard.");
String holdername = cli.getInput(entername);
int accountnr = Integer.parseInt(cli.getInput(enternr));
BigDecimal accbalance = new BigDecimal(cli.getInput(enterinitialbalance));
accounts[accountnr] = new Account(holdername, accountnr, accbalance);
String accountinfo=accounts[accountnr].number + " " + " " + accounts[accountnr].holder + " " + accounts[accountnr].balance;
cli.printMessage(accountinfo);
}
添加帳戶工作一路,這不從這個類的同一實例中運行時:
public void getAccountinfo() {
int accountnr = Integer.parseInt(cli.getInput(getinfo));
String accountinfo=accounts[accountnr].number + "" + "" + accounts[accountnr].holder + accounts[accountnr].balance;
cli.printMessage(accountinfo);
}
這是由於範圍還是由於我混淆了實例和類變量?可能是完全不同的東西?
錯誤我得到的是一個空指針異常在
String accountinfo=accounts[accountnr].number + "" + "" + accounts[accountnr].holder + accounts[accountnr].balance;
感謝您的幫助!
你預計會發生什麼,實際發生了什麼? – Jivings 2012-02-25 13:38:33
它應該沒問題 - 請顯示一個簡短但完整的*程序來證明問題。 (您應該考慮使用camelCase作爲您的變量名稱,以便清晰起見。) – 2012-02-25 13:38:35
accountnr在getAccountinfo()中具有什麼值 – 2012-02-25 13:39:58