我想知道如果我要加密40个字符该怎么办,但我只能使用我所做的代码加密第一个字符。
System.out.println("Enter character: ");
sentence = scan.nextLine();
String random;
System.out.println("Enter random character: ");
random = scan.nextLine();
conv = random.charAt(sentence.indexOf(sentence));
back = sentence.charAt(random.indexOf(conv));
System.out.println("U want to encrypt or decrypt?");
answer = scan.nextLine();
if(answer.equals("encrypt"))
{
System.out.println("The original character is:" +sentence);
System.out.println("The encrypted character is:" +conv);
}
else
{
System.out.println("The decrypted character is:" +back);
}
// TODO code application logic here
}
}
答案 0 :(得分:0)
很明显,当您只将语句排除一次时,只有一个字符会被加密。您需要使用循环来遍历输入字符串中的所有字符。让我举个例子:
String conv = "";
for (int i = 0; i < senentence.length(); i++) {
conv.append(...);
}
您追加的内容取决于您使用的算法以及输入的字符串的长度。使用random.charAt(i)
只会使用随机字符串,并最终抛出异常。