[问答题] 请完成下列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’就得到了倒序的字符在字符表中的位置,然后进行类型转换,就得到了倒序的字符。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)