代码未产生预期结果
Code Not Producing Expected Results
我是 Java 的新手。我正在编写一个对称密钥加密程序,用于加密在命令行输入的字符串。出于某种原因,此部分没有提供我正在寻找的结果:
String[] replaceNum = {
" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 ",
" 10 ", " 11 ", " 12 ", " 13 ", " 14 ", " 15 ", " 16 ", " 17 ", " 18 ",
" 19 ", " 20 ", " 21 ", " 22 ", " 23 ", " 24 ", " 25 ", " 26 ", " 27 ",
" 28 ", " 29 ", " 30 ", " 31 "};
String[] replaceChar = {
" A ", " B ", " C ", " D ", " E ", " F ", " G ", " H ", " I ",
" J ", " K ", " L ", " M ", " N ", " O ", " P ", " Q ", " R ", " S ",
" T ", " U ", " V ", " W ", " X ", " Y ", " Z ", " . ", " //, ",
" //! ", " //? ", " _ "};
message = message.toUpperCase();
message = message.replaceAll(" ", "_");
message = " " + message.replaceAll(".(?=.)", "[=10=] ") + " ";
for (int x=0; x<=30; x++) {
message = message.replaceAll(replaceChar[x], replaceNum[x]);
}
基本上,我想用 1 到 31 之间的数字替换消息字符串中的字符。当我编译时,输出将类似于 some# 27 some# 27 some# 27 ...我用了31行
message = message.replaceAll("character", "number");
此外,如果我包含任何标点符号,我会收到错误消息。对“//”不是很熟悉,也不是很懂"Regex"。请帮忙!
它应该是 \?
或 \!
因为 \
用于转义正则表达式中的 ?
和 !
等特殊字符并将它们视为普通字符,所以您想将其更改为 \
而不是 //
我是 Java 的新手。我正在编写一个对称密钥加密程序,用于加密在命令行输入的字符串。出于某种原因,此部分没有提供我正在寻找的结果:
String[] replaceNum = {
" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 ",
" 10 ", " 11 ", " 12 ", " 13 ", " 14 ", " 15 ", " 16 ", " 17 ", " 18 ",
" 19 ", " 20 ", " 21 ", " 22 ", " 23 ", " 24 ", " 25 ", " 26 ", " 27 ",
" 28 ", " 29 ", " 30 ", " 31 "};
String[] replaceChar = {
" A ", " B ", " C ", " D ", " E ", " F ", " G ", " H ", " I ",
" J ", " K ", " L ", " M ", " N ", " O ", " P ", " Q ", " R ", " S ",
" T ", " U ", " V ", " W ", " X ", " Y ", " Z ", " . ", " //, ",
" //! ", " //? ", " _ "};
message = message.toUpperCase();
message = message.replaceAll(" ", "_");
message = " " + message.replaceAll(".(?=.)", "[=10=] ") + " ";
for (int x=0; x<=30; x++) {
message = message.replaceAll(replaceChar[x], replaceNum[x]);
}
基本上,我想用 1 到 31 之间的数字替换消息字符串中的字符。当我编译时,输出将类似于 some# 27 some# 27 some# 27 ...我用了31行
message = message.replaceAll("character", "number");
此外,如果我包含任何标点符号,我会收到错误消息。对“//”不是很熟悉,也不是很懂"Regex"。请帮忙!
它应该是 \?
或 \!
因为 \
用于转义正则表达式中的 ?
和 !
等特殊字符并将它们视为普通字符,所以您想将其更改为 \
而不是 //