主题:如何实现一个加密Application程序
心若雄鹰
[专家分:0] 发布于 2007-10-18 14:53:00
从键盘输入一个字母,输出这个字母加密后的结果。加密操作是将字母变换成倒序的字母,例如A变成Z,B变成Y。等等
回复列表 (共3个回复)
沙发
sjhlovejava [专家分:1690] 发布于 2007-10-18 16:27:00
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ChangeLetter {
public static void main(String[] args) {
String outputStr = "";
System.out.print("请输入字母:");
//从键盘输入字母
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
//读取行,赋值给inputStr
String inputStr = br.readLine();
for(int i=0;i<inputStr.length();i++){
//将转换后的字符连接成字符串输出
outputStr = outputStr + changeLetter(inputStr.charAt(i));
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(outputStr);
}
public static char changeLetter(char c){
//用于后台打印,知道Unicode码
/*Integer num1 = 'A';
Integer num2 = 'Z';
Integer num3 = 'a';
Integer num4 = 'z';
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);*/
//unicode码
//A值为65
//Z值为90
//a值为97
//b值为122
int letter = c;
char character = 0;
if(c>=65&&c<=90){
//比如输入B,则运算步骤如下:
//90-(66-65)=89,89转换成字符则为Y
//以下小写的同理
character = (char)(90-(letter-65));
}
if(c>=97&&c<=122){
character = (char)(122-(letter-97));
}
return character;
}
}
运行结果:
请输入字母:ABCXYZabcxyz
ZYXCBAzyxcba
板凳
dielsalder [专家分:2330] 发布于 2007-10-18 22:10:00
import java.util.Scanner;
public class Encrypt
{
private static String tb1 = "ZYXWVUTSRQPONMLKJIHGFEDCBA";
private static String tb2 = "zyxwvutsrqponmlkjihgfedcba";
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
String str1 = cin.next();
int len = str1.length();
StringBuffer str2 = new StringBuffer(len);
for(int i = 0; i < len; i++)
{
if(Character.isUpperCase(str1.charAt(i)))
str2.append(tb1.charAt(str1.charAt(i) - 'A'));
else
str2.append(tb2.charAt(str1.charAt(i) - 'a'));
}
System.out.println(str2);
}
}
3 楼
ppfans [专家分:210] 发布于 2007-10-18 22:19:00
你的意思是置换加密算法吧,定义一个字符数组存放a--z,再逐字比较读入字符,用indexof返回索引值用J=25-i替换i即可~~
我来回复