利用map,使用凯撒密码(k=3)将字符串“trphzdvqrw exlowlqdgdb.”进行解密,结果错误。
2条回答 默认 最新
- sanshizhang 2022-04-06 10:24关注
package com.test.kaisamima;
import java.util.HashMap;
import java.util.Map;/**
凯撒密码
@date 2022/04/06
/
public class Kaisamima {
private static final String str = "abcdefghijklmnopqrstuvwxyz";public static void main(String[] args) {
// TODO Auto-generated method stub Map<Character, Character> map = init(3); String s = "trphzdvqrw exlowlqdgdb."; char[] ss = s.toCharArray(); StringBuffer sb = new StringBuffer(); for (char c : ss) { Character cc = map.get(c); if (cc == null) { cc = c; } sb.append(cc); } System.out.println(sb + "===========");
}
private static Map<Character, Character> init(int k) {
Map<Character, Character> map = new HashMap<Character, Character>(); char strs[] = str.toCharArray(); for (char c : strs) { int i = str.indexOf(c); int index = i + k; if (index >= strs.length) { index = index % strs.length; } map.put(c, strs[index]); } return map;
}
}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 在若依框架下实现人脸识别
- ¥15 网络科学导论,网络控制
- ¥100 安卓tv程序连接SQLSERVER2008问题
- ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同