java - 从扫描仪/控制台读取日语字符和字符串

标签 java unicode console

我想知道是否可以打印出包含日语字符的字符串。我停止了一个起初超出我能力范围的小项目。但随着我对高级语言的技能和好奇心的提高,我偶然发现了我的旧项目。但即使编码中断了,我仍然想知道这是否可能。这绝对不是我的项目(事实上,如果给出的示例不适用于编程,我会因为单纯的尝试而感到愚蠢。)

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/

相关文章:

lua - 强制打开 Lua 控制台或启动时自动运行 Lua 控制台

javascript - 如何为 unicode 字母添加转换

java - 对于类型 AlertDialog.Builder 未定义方法 getWindow()

java - 为什么 Java Lambda 也叫 Closures

java 将 string[] 数组拆分为多个文件

android - 如何防止 Android 设备上的 Chrome(或一般的手机互联网浏览器)用非标准 Unicode 符号替换表情符号?

Perl、unicode 和区域设置 : how to process string in non-utf8 locale using `perl -p -i -e' ?

c++ - 为什么通过系统 ("color YX"在 C++ 控制台应用程序中更改颜色)不是最佳解决方案?

c++ - 如何让敌人随机循环并在一定距离内跟随玩家? C++ 控制台游戏

Java 集合。添加(E 对象),但删除(对象对象)