Java学习笔记
  sVAR0G0Gxh13 2023年11月01日 90 0

Java学习记录

旨在记录学习过程,学会解决问题

细节决定成败

Java基础

通过终端输入的汉字打印出来为?的问题解决

import java.util.Scanner;	

public class InputData {
	public static void main(String[] args) {
		Scanner scanner1 = new Scanner(System.in);
		String str = scanner1.nextLine();
		System.out.println(str);
	}
}

中文输入为问号

根据以往经验,开始查找是不是哪里编码没对,在查看了源文件,编码方式均为utf-8时,排除了文件编码和编译问题
之后我又把cmd终端的显示编码从GBK改成了utf-8 (使用命令chcp 65001转换)
结果还是乱码。迫不得已查百度,通过实践发现,通过终端输入的汉字一定是以GBK模式编码的,不管终端的编码是哪种方式

下面是设置Scanner方法的识别编码为"GBK",即在终端中以GBK识别输入的汉字,最后大功告成!

// 导入Scanner类
import java.util.Scanner;	

public class InputData {
	// main入口
	public static void main(String[] args) {
        // 创建一个scanner1对象来接受终端输入的字符串
		Scanner scanner1 = new Scanner(System.in,"GBK"); // 
		// 创建str接受输入的字符串 scanner1.nextLine(); 字符串是以"\n"为分隔符
		String str = scanner1.nextLine();
		// 而 scanner1.nextLine(); 接受的字符串是以' '空格符为分隔符
        // String str = scanner1.nextLine();
        // 打印输出str
		System.out.println(str);
	}

}
image-20230711143159353
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   113   0   0 Java
  8s1LUHPryisj   2024年05月17日   48   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
sVAR0G0Gxh13
作者其他文章 更多

2023-11-01