我目前停留在Caesar密码上。 我需要加密用户输入的味精,然后根据输入的内容在1-25之间切换。 我到目前为止的当前代码是
toLowerCase
我试图使它忽略非字母字母,并在输出中按原样显示它们
例如输入时
“ The 123”(移动25)
我想要结果
“ sdg 123”
但是使用我当前的代码,它会打印
“ maaJKL”
答案 0 :(得分:0)
更改
type
到
@Autowired
那应该只对字母字符而不是字母数字进行转换,而只是附加非字母字符。
您问的另一个问题是,为什么当它环绕在字母的末尾时没有得到想要的字符,是因为您只是将其设置为if not char.isalnum():
continue
。您需要将其减少到字母范围内。为此,而不是
if not char.isalpha()
cipher += char
continue
您应该拥有
ord("a")
这仍然不能完全为您提供特定示例所需的输出,但这是因为大写字符的数字值。您需要包含代码以分别处理这些代码,或者在开始时将所有内容都转换为小写。