编写一个加密处理程序,从键盘输入一段英文文字,将其中每个字母用其后的第4个字母代替,最后的字母轮回到前面去数,其他符号不变。使用String和StringBuffer类,java代码
时间: 2023-10-01 19:04:32 浏览: 56
以下是一个简单的加密程序,它将输入的字符串中的每个字母用其后的第4个字母代替,并将最后的字母轮回到前面去数。
```java
import java.util.Scanner;
public class Encryptor {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一段英文文字:");
String input = scanner.nextLine();
String output = encrypt(input);
System.out.println("加密后的文字:" + output);
}
public static String encrypt(String input) {
StringBuffer output = new StringBuffer();
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isLetter(c)) {
// 将字母向后移动4位,如果超出了字母表范围,则轮回到前面去数
char shifted = (char) (c + 4);
if ((Character.isUpperCase(c) && shifted > 'Z') || (Character.isLowerCase(c) && shifted > 'z')) {
shifted -= 26;
}
output.append(shifted);
} else {
output.append(c);
}
}
return output.toString();
}
}
```
这个程序使用了一个 `encrypt` 方法来实现加密。它首先创建一个 `StringBuffer` 对象来保存加密后的字符串,然后遍历输入字符串中的每个字符。如果这个字符是一个字母,就将它向后移动4位,并且如果超出了字母表范围,就将它轮回到前面去数。如果这个字符不是一个字母,就将它直接添加到输出字符串中。最后返回加密后的字符串。