2016-10-06 38 views
-3

所以這裏是我的代碼...這是關於要求房屋定價和位置,但我不斷得到一個NullPointerException。空指針異常掃描程序也許?

public class price { 

int[] Hprice; 
String [] Hlocation; 

int i = 0; 

public static void main(String[] args) { 

    price price = new price(); 
    price.input(); 

} 

public void input() 
{ 
    price price = new price(); 
    Scanner scan = new Scanner(System.in); 

     System.out.println("what is the price of the house?"); 
     int ansP = scan.nextInt(); 
     price.Hprice[i]=ansP; 
     System.out.println("what is its location? (north,south,east,west)"); 
     String ansL = scan.nextLine(); 
     price.Hlocation[i]=ansL; 
     i +=1; 
} 
當我運行此II獲得一個空指針異常

,我試圖以限定所述陣列中的每一個值,但我STIL得到的異常時我設置Hprice = ANSP。有誰知道可能發生什麼情況?謝謝!

+1

「有誰知道哪裏有錯誤時拋出可能發生的?」這個例外告訴你在哪裏... – tkausl

+2

對於像'price price = new price()這樣的開始代碼,'是非常容易混淆的,並且容易出錯(遵循java標準。那麼爲什麼你打電話'價格價格=新價格();'? –

+0

另一件事 - 當你通常從掃描儀讀取輸入時,總是有一個'\ n'字符,當用戶輸入任何東西時基本上會標記一個新行。你需要輸入字符串(例如'scan.nextLine();'),那麼這個字符被該方法拾取,並且不會被留在標記隊列中讀取,但是不能讀取'\ n'作爲一個int,所以當你調用'scan.nextInt()'時,如果它在行尾(而不是'asdf \ n'作爲輸入)。 –

回答

1

你兩個數組永遠不會被實例化和規模沒有設置