gpt4 book ai didi

java - 我的加密程序需要帮助

转载 作者:行者123 更新时间:2023-12-01 19:02:52 25 4
gpt4 key购买 nike

我使用 input.replace 方法创建了一个加密程序,因为它应该加密用户的输入,但我一直遇到的一个问题是代码永远不会完全加密。例如,如果我输入单词“happy”,则该单词输出“haccl”,而“h”和“a”在也应该加密时保持不变。这是我的代码:

public class HelloWorld
{
public static void main(String[] args)
{
System.out.print("Input a word: ");
Scanner inputscan = new Scanner(System.in);
String input = inputscan.nextLine();

input = input.replace('A', 'N');
input = input.replace('B', 'O');
input = input.replace('C', 'P');
input = input.replace('D', 'Q');
input = input.replace('E', 'R');
input = input.replace('F', 'S');
input = input.replace('G', 'T');
input = input.replace('H', 'U');
input = input.replace('I', 'V');
input = input.replace('J', 'W');
input = input.replace('K', 'X');
input = input.replace('L', 'Y');
input = input.replace('M', 'Z');
input = input.replace('N', 'A');
input = input.replace('O', 'B');
input = input.replace('P', 'C');
input = input.replace('Q', 'D');
input = input.replace('R', 'E');
input = input.replace('S', 'F');
input = input.replace('T', 'G');
input = input.replace('U', 'H');
input = input.replace('V', 'I');
input = input.replace('W', 'J');
input = input.replace('X', 'K');
input = input.replace('Y', 'L');
input = input.replace('Z', 'M');
input = input.replace('a', 'n');
input = input.replace('b', 'o');
input = input.replace('c', 'p');
input = input.replace('d', 'q');
input = input.replace('e', 'r');
input = input.replace('f', 's');
input = input.replace('g', 't');
input = input.replace('h', 'u');
input = input.replace('i', 'v');
input = input.replace('j', 'w');
input = input.replace('k', 'x');
input = input.replace('l', 'y');
input = input.replace('m', 'z');
input = input.replace('n', 'a');
input = input.replace('o', 'b');
input = input.replace('p', 'c');
input = input.replace('q', 'd');
input = input.replace('r', 'e');
input = input.replace('s', 'f');
input = input.replace('t', 'g');
input = input.replace('u', 'h');
input = input.replace('v', 'i');
input = input.replace('w', 'j');
input = input.replace('x', 'k');
input = input.replace('y', 'l');
input = input.replace('z', 'm');

System.out.println("After replace: " + input);
}
}

最佳答案

您的代码多次替换字母。这是我的解决方案是使用循环并逐个替换字母:

public class HelloWorld {

public static void main(String[] args) {
System.out.print("Input a word: ");
Scanner inputscan = new Scanner(System.in);
String input = inputscan.nextLine();

StringBuilder stringBuilder = new StringBuilder(input);
for (int i = 0; i < input.length(); i++) {

switch (input.charAt(i)) {
case 'A':
stringBuilder.setCharAt(i, 'N');
break;
case 'B':
stringBuilder.setCharAt(i, 'O');
break;

//Add all the other cases here.

}
}
System.out.println("After replace: " + stringBuilder.toString());
}

}

关于java - 我的加密程序需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59606317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com