密码转换的算法解析(简单密码)

简介: HashMap在java编程中是非常方便对于我们赋值取值

image.png

题目知识点补充

  1. char charAt(int index):返回指定索引处的字符;
  2. 使用map.put插入数据:
  • 如果当前位置元素为空,则直接插入数据;
  • 如果当前位置元素非空,且key已存在,则直接覆盖其value;
  • 如果当前位置元素非空,且key不存在,则将数据链到链表末端;
  1. HashMap的特点:
  • HashMap是线程不安全的实现
  • HashMap可以使用null作为key或value。
  1. HashMap和HashTable的区别
  • Hashtable是一个线程安全的Map实现,但HashMap是线程不安全的实现,所以HashMap比Hashtable的性能高一点。
  • Hashtable不允许使用null作为key和value,如果试图把null值放进Hashtable中,将会引发空指针异常,但HashMap可以使用null作为key或value。

题目思路解析

我们采取两种方式,第一种方式就是使用charAt(),取到字符串中的每一个字符然后按照规则进行替换,比如将"abc"换成"2".尤其需要注意的就是最后的"z"是需要单独处理的.第二种方式就是使用map.put进行赋值,后续通过map.get去拿值过来进行比较.如果我们需要使用map,那么就要牵扯到HashMap和HashTable的选择,如果不考虑安全的话直接使用HashMap,性能好一些.

具体的实现代码:


importjava.util.*;
publicclassMain{
publicstaticvoidmain(String[] args){
Scannerin=newScanner(System.in);
while(in.hasNextLine()){
Stringcleartext=in.nextLine();    //读取明文StringBuilderbuilder=newStringBuilder();
for(inti=0; i<cleartext.length(); i++){
//小写字母转换为数字if(cleartext.charAt(i)>='a'&&cleartext.charAt(i)<='c')
builder.append('2');
elseif(cleartext.charAt(i)>='d'&&cleartext.charAt(i)<='f')
builder.append('3');
elseif(cleartext.charAt(i)>='g'&&cleartext.charAt(i)<='i')
builder.append('4');
elseif(cleartext.charAt(i)>='j'&&cleartext.charAt(i)<='l')
builder.append('5');
elseif(cleartext.charAt(i)>='m'&&cleartext.charAt(i)<='o')
builder.append('6');
elseif(cleartext.charAt(i)>='p'&&cleartext.charAt(i)<='s')
builder.append('7');
elseif(cleartext.charAt(i)>='t'&&cleartext.charAt(i)<='v')
builder.append('8');
elseif(cleartext.charAt(i)>='w'&&cleartext.charAt(i)<='z')
builder.append('9');
//大写字母'A'~'Y'转换elseif(cleartext.charAt(i)>='A'&&cleartext.charAt(i)<='Y')
builder.append((char)(cleartext.charAt(i)+'a'-'A'+1));
//大写字母'Z'单独处理elseif(cleartext.charAt(i) =='Z')
builder.append('a');
//其他字符不做变换elsebuilder.append(cleartext.charAt(i));
            }
System.out.println(builder.toString());
        }
    }
}

题目运行截图

image.png

相关文章
|
9天前
|
存储 安全 算法
|
6天前
|
存储 机器学习/深度学习 算法
|
8天前
|
机器学习/深度学习 数据采集 人工智能
【热门话题】AI作画算法原理解析
本文解析了AI作画算法的原理,介绍了基于机器学习和深度学习的CNNs及GANs在艺术创作中的应用。从数据预处理到模型训练、优化,再到风格迁移、图像合成等实际应用,阐述了AI如何生成艺术作品。同时,文章指出未来发展中面临的版权、伦理等问题,强调理解这些算法对于探索艺术新境地的重要性。
21 3
|
10天前
|
存储 算法 安全
|
11天前
|
存储 算法 程序员
C++从入门到精通:2.2.1标准库与STL容器算法深度解析
C++从入门到精通:2.2.1标准库与STL容器算法深度解析
|
12天前
|
机器学习/深度学习 存储 人工智能
数据结构与算法设计:深度解析与实践
数据结构与算法设计:深度解析与实践
16 0
|
18天前
|
机器学习/深度学习 数据采集 自然语言处理
【热门话题】常见分类算法解析
本文介绍了6种常见分类算法:逻辑回归、朴素贝叶斯、决策树、支持向量机、K近邻和神经网络。逻辑回归适用于线性问题,朴素贝叶斯在高维稀疏数据中有效,决策树适合规则性任务,SVM擅长小样本非线性问题,KNN对大规模数据效率低,神经网络能处理复杂任务。选择算法时需考虑数据特性、任务需求和计算资源。
22 0
|
27天前
|
机器学习/深度学习 自然语言处理 算法
探索机器学习的奥秘:从基础概念到算法解析
探索机器学习的奥秘:从基础概念到算法解析
40 0
|
27天前
|
存储 算法
从动态规划到贪心算法:最长递增子序列问题的方法全解析
从动态规划到贪心算法:最长递增子序列问题的方法全解析
19 1
|
27天前
|
存储 缓存 算法
深度解析JVM世界:垃圾判断和垃圾回收算法
深度解析JVM世界:垃圾判断和垃圾回收算法

推荐镜像

更多