2014-11-15 3 views
0

У меня есть одна строка, генерируемая случайными символами, которая зашифрует другую строку, заданную пользователем, добавив первый символ из строки с первым символом данной строки. Он работает нормально, но если пользователь должен вводить несколько слов с пробелами между ними, я хочу выбрать следующий символ первой строки, а не код самого пространства. Это возможно? Это то, что у меня есть:Java: Следующий символ в String

(случайным образом это закодированная строка и sentenceUpper является строка, заданная пользователем)

public static void encrypt(String sentenceUpper){ 

String newSentence = ""; 

for(int i = 0; i < sentenceUpper.length(); i++){ 
char one = random.charAt(i); 
char two = sentenceUpper.charAt(i); 

if(one < 'A' || one > 'Z'){ 
    two = sentenceUpper.charAt(1 + i);} 

char result = (char)((one + two)%26 + 'A'); 
newSentence += "" + result; 

}

РЕДАКТИРОВАТЬ ДЛЯ УЛУЧШЕНИЯ ПОЯСНЕНИЕ:

у меня есть:

Строка random = "WFAZYZAZOHS";

Я хотел бы кодировать ввод данных пользователем:

Строка верхнийРЕГИСТР: "ВЫ GO";

Итак, я собираюсь взять Y + L = U, и т.д ... получить: «UTUSEN » Но я вижу, что есть место в «YOU GO», поэтому я хотел бы для его изменения: WFA ZY + YOU GO = UTU SE.

Надеюсь, это лучше объяснить.

+0

Не могли бы вы объяснить свой вопрос более подробно, пожалуйста? Я не понимаю, что вы здесь делаете – DreadHeadedDeveloper

+0

@DreadHeadedDeveloper, это немного помогает? – hello

+0

Почему Y + L? Это не должно быть Y + W? –

ответ

0

Простейшим способом сделать это, вероятно, было бы использование оператора if для запуска кода в цикле, только если символ не является пространством. Если вы не хотите пропускать символ в случайной строке, вам понадобится отдельная переменная для отслеживания текущего символьного индекса в этой строке.

Пример: Поместите это после определения one и two и положить остальные петли внутри него:

if(two==' '){ 
    ... 
} 

Затем добавьте пространство на выходе:

else{ 
    newSentence+=" "; 
} 
+0

Не могли бы вы предоставить кодированный пример того, что вы говорите? – DreadHeadedDeveloper

+0

Вы хотите пропустить символ в случайной строке, а также строку ввода, если пространство достигнуто? – FlyingPiMonster

+0

Я бы опубликовал этот комментарий в разделе вопросов, чтобы ОП мог его видеть – DreadHeadedDeveloper

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