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);
}
}
答案 0 :(得分:2)
未创建控制台对象,这就是您获得NPE的原因。
在第char[]ch=c.readPassword();
行
请参阅此处: - The Problem may be related to IDE or no console available
可能的解决方案: - Refer to this issue on SO
答案 1 :(得分:0)
我最好的猜测是在char[]ch=c.readPassword();
处引发了NullPointerException,因为Console c
对象没有值。
这意味着,您要求的对象的密码值等于null。
答案 2 :(得分:0)
答案 3 :(得分: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行)给出该数组的大小意味着你正在初始化数组。所以你不会得到空指针异常。
答案 4 :(得分:0)
如果c.readPassword();
null
,方法调用end of stream is
会返回reached
。流结束意味着在某种意义上不再需要读取字符。您可能需要对此进行更多研究才能从java oracle文档中获得完全清晰。