2015-02-06 56 views
-1
import java.io.Console; 

public class ConcoleInjava { 
    public static void main(String[] args) { 

    Console c=System.console(); 

    System.out.println("enter ur passward :"); 

    char[]ch=c.readPassword(); 
    String pass=String.valueOf(ch); 
    System.out.println(pass); 
    } 

} 
+5

堆棧跟蹤在哪裏? – MadProgrammer 2015-02-06 21:03:04

+1

NullPointerException被拋出在哪裏 – challett 2015-02-06 21:03:33

+1

'Console'似乎是'null'。你有沒有嘗試從命令行運行它 – MadProgrammer 2015-02-06 21:04:23

回答

0

我最好的猜測是,NullPointerException異常是在char[]ch=c.readPassword();提出,因爲Console c對象有沒有價值它。 這意味着,您要求輸入等於null的對象的密碼值。

0

當你在不進行初始化的字符數組它給的NullPointerException

import java.io.Console; 
public class ConcoleInjava { 
public static void main(String[] args) { 
    Console c=System.console(); 
    System.out.println("enter ur passward :"); 
    char[]ch = new char[int]; 
    ch = c.readPassword(); 
    String pass=String.valueOf(ch); 
    System.out.println(pass); 
} 

}

在代替的碼 「[INT]」(行無6)得到該數組的大小意味着您正在初始化數組。所以你不會得到空指針異常。

+0

這將不起作用,因爲您將char數組對象分配給實例化後可能的返回方法的值,這需要char數組對象在實例化後會在下一行代碼中失去它的屬性。 – rert588 2015-02-06 21:20:56

+0

給我的數組大小仍然面臨這個問題..... – 2015-02-06 21:27:33

0

方法調用c.readPassword();返回null如果end of stream isreached。流的結束意味着在某種意義上不再需要讀取字符。您可能需要對此進行更多的研究以從java oracle文檔中獲得完整的清晰度。

相關問題