由于一开始在Eclipse中写了如下代码:
package org.chapter3;
import java.io.Console;
public class InputTest {
public static void main(String[] args) {
Console con = System.console();
if(con != null) {
String yourname = con.readLine("yourname:");
char[] password = con.readPassword("yourpsw:");
System.out.println("your name is : " + yourname + " ,your psw is : " + new String(password));
}else {
System.out.println("can't not get console instance.");
}
}
}
后来才发现,console类要用命令行才能正常运行。在Eclipse中即使不出错,也只能显示:
然而,转去命令行,编译成功,运行时却出现错误:
我就在想会不会是package的路径那出的问题,于是重新弄了一个项目,把新建的类放在default package中,又没有出错了。终于,我发现在自己建包的项目的源码开头,导入了包,把导入包的代码注释后就不出错了:
所以,有时候不同平台,代码可能就需要稍微修改一下才行。