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

Java 输入用扫描仪读取,然后打印显示不同的字符,java,java.util.scanner,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); } 如果我输入

我遇到了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);
}

如果我输入字符串
%。有人能帮我找到避免这种情况的方法吗?(顺便说一句,避免使用字符集是不太可能的,因为它是编码过程的一部分。

尝试指定字符集:

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

看这个问题:你也需要在打印语句上编码吗,我快疯了;%??�我不认为这个字符串可能是
UTF-8
@RichardTingle。看看