2014-11-26 2 views
0

어쨌든이 코드를 변경하여 대문자 만 암호화합니까? 소문자 나 기호는 필요하지 않습니다. 감사!시저 암호를 사용하여 암호화

public class CaesarCypher 
{ 
    public static final int MOVE_DOWN = 4; 
    public static void main(String [] args) 
    { 

     String plainText; 
     char character; 

     System.out.println("Enter sentence or word to Encrypt: "); 
     plainText = Console.readString(); 

     for (int iteration = 0 ; iteration < plainText.length() ; iteration++) 
     { 
      character = plainText.charAt(iteration); 
      if (character != ' ') 
      { 
       character = (char) ('a' + (character - 'a' + MOVE_DOWN) %26); 
      } 

      System.out.print(character); 
     } 


    } 
} 

답변

1

공백이 아닌 테스트는 대문자 테스트로 바꾸고 'a'는 'A'로 바꾸십시오.

import java.io.BufferedReader; 
import java.io.InputStreamReader; 

public class CaesarCypher { 

    public static final int MOVE_DOWN = 4; 
    public static void main(String [] args) 
    { 

     String plainText = ""; 
     char character; 

     System.out.println("Enter sentence or word to Encrypt: "); 
     InputStreamReader converter = new InputStreamReader(System.in); 
     BufferedReader in = new BufferedReader(converter); 
     try{ 
      plainText = in.readLine(); 

      for (int iteration = 0 ; iteration < plainText.length() ; iteration++) 
      { 
       character = plainText.charAt(iteration); 
       if (character >='A' && character <= 'Z') 
       { 
        character = (char) ('A' + (character - 'A' + MOVE_DOWN) %26); 
       } 

       System.out.print(character); 
      } 
     } 
     catch (Exception e){ 
      System.err.println(e.getMessage()); 
     } 

    } 
} 
+0

감사합니다. – owen95

관련 문제