4.程序功能:首行输出从字符,中’开始的连续5个字符及其Unicode码值, 第二行输出从Unicode码值为22259的字符开始的5个字符及其Unicode码值。 public class OutputChinese{ public static void getChineseString(char ch, int code){ for (char charTmp = ch; charTmp <= ch+5; 代码1 _) { int charCode = charTmp; System.out.print (charTmp + " (" + charCode + ")"); System.out.println(); for (int intTmp = code; 代码2 ; intTmp++){ char chTmp = 代码了 System.out.print(chTmp + "(" + intTmp + ")");
时间: 2024-03-08 17:46:18 浏览: 186
这段代码存在几个问题:
1. 在 for 循环中,代码1处应该是 charCode = charTmp,而不是 int charCode = charTmp。
2. 在第一个 for 循环中,代码2处的终止条件应该是 intTmp < code + 5,而不是 intTmp。
3. 在第二个 for 循环中,代码了处应该是 chTmp = (char) intTmp,而不是 char chTmp = 代码了。
4. 在第二个 for 循环中,缺少了一个终止条件,需要加上 intTmp < code + 5。
5. 没有调用 getChineseString 方法来执行程序功能,需要在主函数中调用该方法。
正确的代码应该如下所示:
```java
public class OutputChinese {
public static void getChineseString(char ch, int code) {
for (char charTmp = ch; charTmp <= ch + 5; charTmp++) {
int charCode = charTmp;
System.out.print(charTmp + " (" + charCode + ")");
}
System.out.println();
for (int intTmp = code; intTmp < code + 5; intTmp++) {
char chTmp = (char) intTmp;
System.out.print(chTmp + "(" + intTmp + ")");
}
}
public static void main(String[] args) {
getChineseString('中', 22259);
}
}
```
输出结果应该为:
```
中 (20013)丹 (19977)为 (20061)主 (20056)丽 (19977)
丹 (19977)为 (20061)主 (20056)丽 (19977)丰 (19984)
```
阅读全文