2017-10-19 56 views
-1

即使得到這個錯誤「線程中的異常」main「java.lang.NullPointerException」即使我沒有通過查看代碼看到問題,但我收到了一個錯誤。即使我認爲在代碼中沒有錯誤

它說錯誤在「char [] linechars;」。

我不確定爲什麼我在Employee1類中使用字符數組時遇到此錯誤。

public class Employee1 { 
    public String name; 
    public String number; 

    Scanner keyboard = new Scanner(System.in); 

    char[] lineChars; 

    public Employee1() { 
     this.lineChars = number.toCharArray(); 
    } 

    public void setName() { 
     System.out.println("enter name"); 
     name = keyboard.nextLine(); 
    } 

    public String getName() { 
     System.out.println("your name is " + name); 
     return name; 
    } 

    public void setNumber() { 
     System.out.println("enter number"); 
     for (int i = 0; i < lineChars.length; i++) { 
      if (i == 0 || i == 1 || 1 == 2 || i > 0 && i <= 9) { 
       number = keyboard.nextLine(); 
      } else { 
       System.out.println("must be 1-9"); 
      } 
     } 
    } 

    public String getNumber() { 
     System.out.println("your number: "); 
     return number; 
    } 
} 
+0

在'Employee1'構造函數中,'number'的值是什麼? –

+2

如果你得到一個不需要的和意想不到的'NullPointerException',那麼當然***代碼中至少有一個錯誤。 –

+0

@JohnnyMopp我最初把它當作char [] lineChars = number.toCharArray();但我得到了同樣的問題 –

回答

1

歡迎來到StackOverflow。首先,一些幫助在未來獲得更好的反應:

  1. 請運行通過格式化/美化你的代碼,以便其他人可以更容易地閱讀你的代碼。例如,TutorialsPoint.com有一個體面的格式化程序。這段代碼幾乎是不可讀的。
  2. 在討論錯誤時,請提供完整的確切錯誤。 JRE報告的適當的錯誤詳細信息不僅會使您得到更快的響應和更準確的答案,而且您的問題由於質量差而不太可能得到反對。
  3. 不要粘貼「所有的代碼」,如果成員需要更多,他們會要求它。相反,只包括由JRE報告的錯誤詳細信息中標識的類。現在

,這個問題解釋說:

當我們創建執行在the Constructor代碼一個新的對象實例。

在你的情況,當你創建一個新的Employee1實例執行這行代碼:

this.lineChars = number.toCharArray(); 

由於number爲空(尚未分配的值),你會得到一個例外。

考慮以下幾點:

public Employee1() 
{ 
    number = "12345"; 
    this.lineChars = number.toCharArray(); 
} 

這只是說明你的代碼問題的例子。也許你會想傳遞一個值到構造函數,而不是硬編碼值:

public Employee1(String someNumber) 
{ 
    number = someNumber; 
    this.lineChars = number.toCharArray(); 
} 

// somewhere else in your program 
var employee = new Employee1("12345"); 

希望這有助於你解決問題,獲取更多信息NullPointException,爲什麼他們會出現see this answer

相關問題