如图,在VScode这款软件里Scanner接收语句出现了无法接收判断,经过测试数字可以正常接收判断,中文和英文都不行,我尝试过用GBK编码来运行,也尝试过改终端的chcp,也尝试过VScode里的launch.json文件里对应类下设置GBK运行,但都以失败告终,想不到解决办法了,99可怜程序娃吧,图1为源代码,图2为终端
字符串 比较,肯定不能用 == 啊【这是比较的 地址】, 要用 equals 【这才是比较的值】
if ("xxx".equals(str2)) {
}
1: 在Java 编译命令加上编码,比如:javac -encoding utf8 Test.java
2:注意vscode的编码
【以下回答由 GPT 生成】
我了解到您在使用VScode中遇到了无法正确接收字符串的问题。这可能是由于编码设置不正确引起的。以下是一些解决该问题的可能方法:
确保源代码的文件编码与要读取的文件的编码一致。在VScode中打开源代码文件,在编辑器底部栏中可以看到当前文件的编码格式。如果您的文件是以UTF-8编码保存的,那么确保在读取文件时也使用UTF-8编码。
确保终端的默认编码与源代码文件的编码一致。在终端中运行chcp
命令可以查看当前的终端编码。如果编码与源代码文件不匹配,可以使用chcp
命令来更改终端的默认编码。例如,如果编码为GBK,则可以运行chcp 936
来设置终端编码为GBK。
修改VScode的launch.json文件以设置正确的编码。打开launch.json文件,在调试配置中找到您要运行的类所对应的配置。在该配置中,添加一个console
属性,并设置其值为正确的编码。例如,如果要使用GBK编码运行,可以添加以下配置:
"console": "externalTerminal",
"args": [
"-Dfile.encoding=GBK"
]
这将在外部终端中以GBK编码运行程序。
javac
命令添加注释来指定文件的编码。例如,如果文件使用GBK编码,则可以添加以下注释:// 在顶部添加注释
// -*- coding: gbk -*-
请尝试上述方法,看看能否解决您的问题。如果问题仍然存在,请提供更多详细信息,以便我能够更准确地帮助您解决问题。