题目要求:已知有一个字符'中'和一个Unicode码22269,请完成代码的编写,分别输出这两个字符及其后面的4个字符的数据,要求输出的格式为:字符(字符的Unicode码值),括号为英文半角小括号,例如:妈(22920)妉(22921)妊(22922)妋(22923)妌(22924)妍(22925),每5个字符信息占一行。
问题分析:本问题的核心就是在于字符和一个整数之间的转换表示,并通过循环进行输出。输出一个字符可以输出char类型的变量,如果是数值则可以强制类型转换为char;而输出字符的Unicode码值,则只需要将字符强制类型转换为int即可。
算法设计:第一步,建立循环,初始化一个字符型的循环变量,初始即为给定的字符值,循环条件为该字符小于等于给定的字符值+5;第二步,在循环中定义整型变量,赋值为当前循环变量字符的Unicode码值,然后按照指定格式进行输出;第三步,建立循环,初始化一个整型变量,初始为给定的Unicode码值,循环条件为该数值小于等于给定的Unicode码值+5;第四步,在循环中定义字符变量,赋值为当前循环变量对应的char字符(强制类型转换得到),然后按照指定的格式进行输出。
实验结果:
A.测试输入:'中' 22269
预期输出:
中(20013)丮(20014)丯(20015)丰(20016)丱(20017)串(20018)
国(22269)图(22270)囿(22271)圀(22272)圁(22273)圂(22274)
B.测试输入:'博' 24605
预期输出:
博(21338)卛(21339)卜(21340)卝(21341)卞(21342)卟(21343)
思(24605)怞(24606)怟(24607)怠(24608)怡(24609)怢(24610)
实验代码
package b;
public class OutputChinese {
public static void getChineseString(char ch, int code){
for(int i=0;i<=5;i++){
System.out .print((char)(ch+i)+"("+(int)(ch+i)+")");
}
System.out.println();
for(int i=0;i<=5;i++){
System.out.print((char)(code+i)+"("+(int)(code+i)+")");
}
}
public static void main(String[] args) {
char ch = '中';
int code = 22269;
getChineseString(ch, code);
}
public static void main1(String[] args) {
char ch = '博';
int code = 24605;
getChineseString(ch, code);
}
}