我正在尝试这个:
Scanner keyboard = new Scanner(System.in);
char[] character = keyboard.next().toCharArray();
while (character.length != 5) {
keyboard = new Scanner(System.in);
character = keyboard.next().toCharArray();
}
直到你介绍5个字符一直要求你再次介绍5个字符但是当我尝试引入特殊字符'ñ'或'ç'时它不起作用,我已经尝试了它没有时间来打印结果并且唯一打印的是正方形。怎么能解决这个问题?
我正在使用NetBeans IDE 7.4。
通过它不起作用我的意思是我只是一直要求引入更多的字符,它只会被引入,直到你引入5个普通字符。
答案 0 :(得分:1)
在两种情况下都使用操作系统的编码。
String encoding = "Cp1252"; // Western Latin-1
Scanner keyboard = new Scanner(System.in, encoding); // Twice!
如果您打印默认编码:
System.out.println(System.getProperty("file.encoding"));
您可能会看到IDE使用" UTF-8"或者。也就是说,它已经改变file.encoding
。
但是System.in和System.out只需要使用原始编码。
答案 1 :(得分:1)
您可能需要查看this回答。
编辑NetBean的 etc 文件夹中的 netbeans.conf ,并将-J-Dfile.encoding=UTF-8
添加到netbeans_default_options
。然后重新启动。