Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2013, 10:40   #1
Felicity_
Новичок
Джуниор
 
Регистрация: 11.12.2013
Сообщений: 1
По умолчанию Java. нужно заменить в слове буквы на предыдущие согласно англ. алфавиту. что не так?

Код:
import java.io.*;
public class Buchstaben {
        public static void main(String[] args) throws IOException {
            String unverschluesseltEingabe;
            char unverschluesseltesZeichen;
            char verschluesseltesZeichen;
            String verschluesselteAusgabe = "";
            int i=0;
            // "Verbindung" zur Tastatur
            BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
                 // Anleitung zur Ausgabe
                 
                 System.out.println("Geben Sie eine zu verschlüsselnde Zeichenkette ein:");
                 // Einlesen der Zeichenkette
                 unverschluesseltEingabe = eingabe.readLine();
                     // Verschlüsselungsschleife
                     for (i=0; i<unverschluesseltEingabe.length(); i++) 
                     {
                    // Zeichen holen
                    unverschluesseltesZeichen = unverschluesseltEingabe.charAt(i);
                   // Ist es Buchstabe zwischen a und z? Dann Buchstaben verschieben
                   //für Kleinbuchstaben:
                   if ( unverschluesseltesZeichen <= 'A' && unverschluesseltesZeichen >= 'Z')
                   {
                   verschluesseltesZeichen = (char) (('A'+'Z') - unverschluesseltesZeichen);
                       } else if ( unverschluesseltesZeichen <= 'a'&& unverschluesseltesZeichen >='z') {
                       verschluesseltesZeichen = (char) (('a'+'z') - unverschluesseltesZeichen);
                      } else 
                      {
                        verschluesseltesZeichen = unverschluesseltesZeichen;
                        }
                             // Zeichen zur Ausgabe hinzufügen
                             //die neuerBuchstaben in einem String konkatenieren
                             verschluesselteAusgabe = verschluesselteAusgabe + verschluesseltesZeichen;
                                  }
                                 // Ausgabe
                                 System.out.print("Verschlüsselte ausgabe: "+ verschluesselteAusgabe);
           }

Последний раз редактировалось Stilet; 11.12.2013 в 11:38.
Felicity_ вне форума Ответить с цитированием
Старый 11.12.2013, 13:43   #2
BleStaR
Форумчанин
 
Регистрация: 25.09.2009
Сообщений: 234
По умолчанию

у Вас всегда первые два условия ложны, следовательно он будет выводит исходную строку. Замените проверку интервалов на
Код:
>= 'A' ... <= 'Z'
и по аналогии для второго.

P.S. формула
Код:
'a' + 'z' - исходных символ
НЕ дает символ предшествующий исходному.
BleStaR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++: Удалить из слова предыдущие вхождения последней буквы Solidera Помощь студентам 1 22.10.2013 08:25
Паскаль. Удаление из слов предыдущие вхождения в него последней буквы. Svetik2252 Помощь студентам 6 11.12.2009 20:30
нужно заменить буквы в тексте Olalya da Silva Паскаль, Turbo Pascal, PascalABC.NET 8 09.01.2009 23:55
задать букву (по англ. алфавиту) в столбце 'Station' по критериям. jungo Microsoft Office Excel 10 21.05.2008 16:08