Java的Scanner语句怎么输入中文
时间: 2024-04-16 10:28:21 浏览: 380
在Java中,使用Scanner类接收中文输入需要注意字符编码的设置。你可以使用`System.in`作为Scanner类的构造函数参数,并在创建Scanner对象之前设置输入流的字符编码为"UTF-8"。以下是一个示例代码:
```java
import java.util.Scanner;
import java.io.UnsupportedEncodingException;
public class ChineseInputExample {
public static void main(String[] args) {
// 设置输入流字符编码为UTF-8
try {
System.setIn(new java.io.BufferedInputStream(System.in, 1024));
System.setOut(new java.io.PrintStream(System.out, true, "UTF-8"));
} catch (UnsupportedEncodingException e) {
System.out.println("发生错误:" + e.getMessage());
}
// 创建Scanner对象
Scanner scanner = new Scanner(System.in);
// 提示用户输入中文
System.out.println("请输入中文:");
// 读取用户输入的中文
String chineseInput = scanner.nextLine();
// 输出用户输入的中文
System.out.println("你输入的中文是:" + chineseInput);
// 关闭Scanner对象
scanner.close();
}
}
```
在上述示例中,我们使用`System.setIn()`和`System.setOut()`方法设置了输入流和输出流的字符编码为"UTF-8"。然后,我们创建了一个Scanner对象,并使用`nextLine()`方法读取用户输入的中文。最后,我们将用户输入的中文输出到控制台。
请确保你的开发环境(如IDE或终端)也正确地设置了字符编码为"UTF-8",否则可能会导致乱码问题。
希望对你有所帮助!
阅读全文