⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caesar.java

📁 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 + -