我正在寻找一种简单的方法来编写程序,通过交换字符对来加密行,这些字符由用户输入。例如,如果您写了以下任何一个:
Original line Encrypted line
abcdef badcfe
The quick brown fox hT euqci krbwo nofx
abc bac
我只能完成像这样的简单加密:
import java.util.Scanner;
public class Encryption
{
public static void main(String[] args){
Scanner kb = new Scanner(System.in);
System.out.println("enter a line");
String line = kb.nextLine();
String encrypted="";
for (int i=0; i<line.length(); i++){
char c = line.charAt(i);
if (c == 'a')
encrypted += 'e';
else if (c == 'e')
encrypted += 'a';
else
encrypted += c;
}
System.out.println(encrypted);
}
可以修改它来执行交换对加密吗?
最佳答案
这可能有用...
public class Test {
public static void main(String[] args){
Scanner kb = new Scanner(System.in);
System.out.println("enter a line");
String line = kb.nextLine();
String encrypted = encriptInput(line);
System.out.println(encrypted);
}
private static String encriptInput(String line) {
String[] splitedChars = line.split("(?<=\\G.{2})");
String outPut = "";
for (int i = 0; i < splitedChars.length; i++) {
outPut = splitedChars[i].trim().length() < 2?outPut+splitedChars[i]:outPut+splitedChars[i].charAt(1)+splitedChars[i].charAt(0);
}
return outPut;
}
}
关于Java:如何创建一个通过交换字符对来加密行的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40297410/