我想知道是否可以打印出包含日语字符的字符串。我停止了一个起初超出我能力范围的小项目。但随着我对高级语言的技能和好奇心的提高,我偶然发现了我的旧项目。但即使编码中断了,我仍然想知道这是否可能。这绝对不是我的项目(事实上,如果给出的示例不适用于编程,我会因为单纯的尝试而感到愚蠢。)
public static void main(String[] args) {
// TODO code application logic here
//Example:
System.out.println("Input English String Here... ");
Scanner english = new Scanner(System.in);
String English = english.next();
System.out.println("今、漢字に入ります。 ");
Scanner japanese = new Scanner(System.in);
String Japanese = japanese.next();
System.out.println("Did it work...? ");
System.out.println(English);
System.out.println(Japanese);
}
运行:
Input English String Here... Good 今、漢字に入ります。 いい Did it work...? Good ??
我希望在输出的最后一行看到 いい
。
最佳答案
获得 ??
而不是 いい
的最可能的解释是,计算机输入系统提供的字符编码与由 JVM 确定的默认 Java 字符编码。
假设输入是 UTF-8 编码的,那么配置扫描仪的更可靠方法是 new Scanner(System.in, "UTF-8")
。
另请注意,无需创建多个扫描仪对象。您可以……并且应该……创建一个并重复使用它。输入是否真正是交互式的可能并不重要,但如果输入有可能通过管道传输到程序,您可能会发现第一个 Scanner 吞噬了本应发送到第二个的输入扫描仪
。
关于java - 从扫描仪/控制台读取日语字符和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23621899/