1.利用scanner进行输入:
import java.util.Scanner;
public class MyJavaTwo {
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
System.out.print("请输入内容:");
String str = scan.next();
System.out.println("输入的内容为:"+str);
}
}
在这里当输入英文的时候,可以正常输出,如:
但是当输入中文的时候,会有如下乱码现象产生:
2.利用BufferReader类
BufferReader类用于从缓冲区中读取内容,所有的输入字节数据都将放在缓冲区中。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class MyJavaTwo {
public static void main(String[] args) throws Exception {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入内容:");
String str = buf.readLine();
System.out.println("输入的内容为:"+str);
}
}
通过这种方法,进行输入产生的现象和利用Scanner输入产生的现象一样。
为什么会出现这样的原因呢?如下所示:
因为这里设置Eclipse设置的字符集是utf-8,所以如果想要正常输出中文,将其改为default,也就是gbk即可。如下所示: