FileDocCategorySizeDatePackage
Rot13Input.javaAPI DocExample2107Wed Jun 03 10:32:10 BST 1998None

Rot13Input

public class Rot13Input extends Object
This program reads lines of text from the user, encodes them using the trivial "Rot13" substitution cipher, and then prints out the encoded lines.

Fields Summary
Constructors Summary
Methods Summary
public static voidmain(java.lang.String[] args)

    // Get set up to read lines of text from the user
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    for(;;) {                                    // Loop forever
      System.out.print("> ");                    // Print a prompt
      String line = in.readLine();               // Read a line
      if ((line == null) || line.equals("quit")) // If EOF or "quit" then...
        break;                                   // ... break out of the loop
      StringBuffer buf = new StringBuffer(line); // Convert to a StringBuffer
      for(int i = 0; i < buf.length(); i++)      // For each character...
        buf.setCharAt(i, rot13(buf.charAt(i)));  //   read, encode, put it back
      System.out.println(buf);                   // Print encoded line
    }
  
public static charrot13(char c)
This method performs the Rot13 substitution cipher. It "rotates" each letter 13 places through the alphabet. Since the Latin alphabet has 26 letters, this method both encodes and decodes.

    if ((c >= 'A") && (c <= 'Z")) {  // For uppercase letters
      c += 13;                       // Rotate forward 13
      if (c > 'Z") c -= 26;         // And subtract 26 if necessary
    }
    if ((c >= 'a") && (c <= 'z")) {  // Do the same for lowercase letters
      c += 13;
      if (c > 'z") c -= 26;
    }
    return c;                        // Return the modified letter