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

Смежные вопросы