java - 用扫描仪读取输入然后打印显示不同的字符

标签 java java.util.scanner

我在使用 Java 的 Scanner 类时遇到问题。当我输入特定的字符序列时,我会得到一个更疯狂的字符,没有任何改变。例如使用代码:


public static void main(String args[]){
   Scanner input = new Scanner(System.in);
   System.out.println("Begin");
   String foo = input.nextLine();
   System.out.println(foo);
}

如果我输入字符串%ʒʼnÛ,当我对实际字符串进行绝对零的更改时,我将得到输出字符串%Ê’ÅćÛ。有人可以帮我找到一种方法来避免这种情况吗? (顺便说一句,避免使用字符集 %ʒʼnÛ 的可能性很小,因为它是编码过程的一部分。

最佳答案

尝试指定字符集:

Scanner input = new Scanner(System.in, "UTF-8");

关于java - 用扫描仪读取输入然后打印显示不同的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18882516/

相关文章:

java - 使用属性配置文件运行 .jar 文件

java - 将缓冲图像移动到特定坐标

java - Java中使用不同属性的多个不同对象按字母顺序排序列表

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 如何读取字符串变量后的接下来 10 个字符

java - 使用HttpServletResponse.setStatus后如何获取状态

java - 无法为 3D 字符数组赋值

java - 我想在 Java 中用点而不是逗号输入 double 值,但出现异常

Java:需要在 GUI 中获取输入行,仅在控制台中有效

java - 解析并保存文本文件中的行