#使用IntelliJ IDEA 2024.1.2 (Ultimate Edition) 开发Java程序的时候,程序中如果出现汉字,代码如下,就会报错:
package cn.edu.cup;
//TIP 要<b>运行</b>代码,请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
public class Main {
public static void main(String[] args) {
//TIP 当文本光标位于高亮显示的文本处时按 <shortcut actionId="ShowIntentionActions"/>
// 查看 IntelliJ IDEA 建议如何修正。
System.out.printf("Hello and welcome!");
for (int i = 1; i <= 5; i++) {
//TIP 按 <shortcut actionId="Debug"/> 开始调试代码。我们已经设置了一个 <icon src="AllIcons.Debugger.Db_set_breakpoint"/> 断点
// 但您始终可以通过按 <shortcut actionId="ToggleLineBreakpoint"/> 添加更多断点。
System.out.println("张 i = " + i);
System.out.println("张i = " + i);
}
}
}
首先是点击运行的时候,编译报错,而且错误是乱码:
F:\programWorks\Java\Test\demo20240530b\src\main\java\cn\edu\cup\Main.java:3: ����: ���� GBK �IJ���ӳ���ַ� (0x81)
//TIP �?<b>运行</b>代码,请�? <shortcut actionId="Run"/> �?
从指示的位置看,实际上是程序的注释部分。
但是,如果再次点击运行,就会通过,并执行。
但是执行的结果也很诡异:单个汉字后面不能有空格,否则就乱码:
> Task :Main.main()
Hello 汉字 and welcome!�? i = 1
张i = 1
�? i = 2
张i = 2
�? i = 3
张i = 3
�? i = 4
张i = 4
�? i = 5
张i = 5
上面是执行结果,第一个字正常输出,第二个就是乱码了。