📄 caesar.java
字号:
import java.io.*;
public class Caesar {
public static void encode(String PlainText, int Offset) {
String CipherText = "";
for (int i = 0; i < PlainText.length(); i++) {
if (PlainText.charAt(i) >= 'a' && PlainText.charAt(i) <= 'z')
CipherText += (char)('a' + ((PlainText.charAt(i) - 'a' + Offset) % 26));
else if (PlainText.charAt(i) >= 'A' && PlainText.charAt(i) <= 'Z')
CipherText += (char)('A' + ((PlainText.charAt(i) - 'A' + Offset) % 26));
else if (PlainText.charAt(i) >= '0' && PlainText.charAt(i) <= '9')
CipherText += (char)('0' + ((PlainText.charAt(i) - '0' + Offset) % 10));
}
System.out.println("Ciphertext: " + CipherText);
}
public static void decode(String CipherText, int Offset) {
String PlainText = "";
for (int i = 0; i < CipherText.length(); i++) {
if (CipherText.charAt(i) >= 'a' && CipherText.charAt(i) <= 'z')
PlainText += (char)('a' + ((26+(CipherText.charAt(i) - 'a' - Offset)) % 26));
else if (CipherText.charAt(i) >= 'A' && CipherText.charAt(i) <= 'Z')
PlainText += (char)('A' + ((26+(CipherText.charAt(i) - 'A' - Offset)) % 26));
else if (CipherText.charAt(i) >= '0' && CipherText.charAt(i) <= '9')
PlainText += (char)('0' + ((26+(CipherText.charAt(i) - '0' - Offset)) % 10));
}
System.out.println("PlainText: " + PlainText);
}
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print ("What to you want to do? Encode or Decode?[e/d]");
String action = br.readLine();
System.out.print ("Please input offset value: ");
int offset = Integer.valueOf(br.readLine());
System.out.print ("Please input the ");
if (action.equalsIgnoreCase("d")) {
System.out.print("ciphertext: ");
decode(br.readLine(),offset);
} else {
System.out.print("plaintext: ");
encode(br.readLine(),offset);
}
System.out.println("Press ENTER...");
System.in.read();
} catch(IOException ex) {
System.out.println(ex.getMessage());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -