2014-02-24 2 views
-3

그래서 문자열에서 두 개의 문자를 가져 와서 다른 방법으로 보낼 쌍을 만드는 방법을 얻으려고합니다. 이것은 내가 가지고있는 것입니다 :문자열에서 한 쌍의 문자를 가져 오는 방법은 무엇입니까? Java

public String encryptWord(String word) throws FileNotFoundException 
{ 
    String newWord = ""; 
    String pair = ""; 
    String extraLetter = ""; 
    if(word.length() == 1) 
    { 
     extraLetter = word; 
    } 
    else 
    { 
     if(!extraLetter.equals("")) 
     { 
      if(word.length() % 2 != 0) 
      { 
       pair = extraLetter + word.substring(0, 1); 
       newWord += encryptTwo(pair); 
       for(int cntr = 0; cntr < word.length(); cntr++) 
       { 
        pair = word.substring(cntr, cntr + 1); 
        newWord += encryptTwo(pair); 
       } 
      } 
      else 
      { 
       System.out.println(extraLetter + " Hi"); 
       pair = extraLetter + word.substring(0, 1); 
       newWord += encryptTwo(pair); 
       for(int cntr = 0; cntr < word.length() - 1; cntr++) 
       { 
        pair = word.substring(cntr, cntr + 1); 
        newWord += encryptTwo(pair); 
       } 
       pair = word.substring(word.length()); 
      } 
     } 
     else 
     { 
      if(word.length() % 2 == 0) 
      { 
       for(int cntr = 0; cntr < word.length(); cntr++) 
       { 
        pair = word.substring(cntr, cntr + 1); 
        newWord += encryptTwo(pair); 
       } 
      } 
     } 
    } 
    return newWord; 
} 

이 프로그램은 홀수 문자가있는 단어를 제외한 모든 단어에 적용됩니다. 문장 : "이 프로그램에서 암호화 프로그램이 작동하는지 확인하는 테스트입니다."

도움이 될 것입니다! 감사!

+2

디버거 또는 일부 인쇄 문을 사용하여 프로그램에서 무슨 일이 일어나는지 확인하십시오. – Christian

+1

두 번째'if' 문 내부는 절대로 실행되지 않습니다. 왜 볼 수 있니? –

답변

1
if(!extraLetter.equals("")) 
{ 
    //this is never going to execute as `extraLetter` is set to "" 
} 

따라서 짝수 개의 문자가있는 단어에 대해서만 코드가 실행됩니다.

+0

방금 ​​내 extraLetter 변수가 선언되었음을 알게되었습니다. 그것의 정상에 그리고 일하는! – user3344862

관련 문제