问题 问答题

请完成下列Java程序:对大写的26个英文字母加密,从键盘输入一个大写字母串,输出这个串加密后的结果。加密操作是将字母变换成倒序的大写字母,如A->Z,B->Y。 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: 输入一个大写字母串:ADFSDFFE 加密后的大写字母串:ZWUHWUUV import java.io.*; public class ex12_2{public static void main (String[] args){ char ch = ’A’; String str; System. out .print ( "输入一个大写字母串: "); try{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); str= in.readLine(); System. out .print ( "加密后的大写字母串:"); for(int i=0;i<str.length();i++){ _______________; _______________; System.out.print(ch); } }catch(IOException e){} try{ System.in.read(); }catch(IOException e) {}; } }

答案

参考答案:

解析:ch=str.charAt(i) ch=(char)(’Z’ -ch+’A’) 本题主要考查字符串的操作和I/O操作的简单应用。解题关键是,熟悉字符串的基本操作,会将字符作相应的转换,熟悉字符串的定位方法charAt()以及基本的I/O操作。本题中,第1个空,定位str对象中的字符,调用str对象的cheat()方法定位第i个字符并将该字符写给ch变量;第2个空,加密算法的实现,’Z’-ch表示字符ch在字符表中和字符’Z’之间相隔多少字符,再加上字符’A’就得到了倒序的字符在字符表中的位置,然后进行类型转换,就得到了倒序的字符。

单项选择题
单项选择题