JAVA从控制台中输入一段明文然后加密为ASC
发布网友
发布时间:2022-04-22 07:30
我来回答
共3个回答
热心网友
时间:2022-06-17 18:07
public class Day25B {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
String str ;
while (true) {
System.out.print("输入:");
str = sc.nextLine();
if (str.contains("over")) {
break;
}
show(str);
}
}
// 明文
public static void show(String str) {
System.out.println("明文:" + str);
String strEn = enCode(str);
System.out.println("加密:" + strEn);
String strDe = deCode(strEn);
System.out.println("解密:" + strDe+"\r\n");
}
// 加密!
public static String enCode(String str) {
String src = "";
for (int i = 0; i < str.length(); i++) {
int tem = str.charAt(i);
int num=i;
System.out.print((char)tem+"编码:"+tem+"\t索引:"+i+"\r\n");
if(num==0) {
num=1;
}
tem *= num;
src += tem + ",";
}
return src;
}
// 解密!
public static String deCode(String str) {
String[] strs = str.split(",");
String strTem = "";
for (int i = 0; i < strs.length; i++) {
int tem = Integer.valueOf(strs[i]);
int num=i;
if(num==0) {
num=1;
}
tem/=num;
strTem += (char) tem;
}
return strTem;
}
}
//你好,说明一下,题目中说要求把大写进行小写转换,这,我个人觉得有点多此一举!
//可以办到,定义一个数组,记录当前索引,然后打个标记就可以了(当然也有其他方法打标记)
//解密的时候,如果符合标记的就进行运算解密,然后在把char大写转换即可还原!
//当前这个类,忽视这中做法,直接按照给定的规则进行:加密,解密,大小写直接还原.简单!
热心网友
时间:2022-06-17 18:07
匿名这个想的更好一点,点赞
热心网友
时间:2022-06-17 18:08
人物图(版本三)(7)