2015-11-08 4 views
-4

Например, буква "a". я хочу, чтобы он изменился на новую букву, введя числовое значение, которое ему нужно перевести алфавит вперед, а не назад. Вход = 3, затем буква «a» станет «d». Ввод значения должен применяться ко всем символам в строке. Можете ли вы, ребята, помочь мне?Как изменить каждый символ в строке на новый символ?

+4

Вы должны продемонстрировать некоторое усилие. Отредактируйте сообщение и добавьте код, который вы написали. SO не является кодовым письмом. – Arc676

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он просит помочь в домашней работе, но не включает резюме проделанной до сих пор работы для решения проблемы или описание трудности, возникшей при ее решении. – RealSkeptic

ответ

0

Каждый символ клавиатуры имеет номер ASCII (это означает целое число, связанное с этим символом). Поэтому, если вы хотите выполнить свою задачу, вы должны начать с that. Используйте тип int и конвертируйте его позже в char с помощью литья.

Если у вас есть string типа, это так просто, такие как создание массива char, где вы будете подавать каждый символ вашей строки, а затем вы будете concatanate каждого преобразованного символа нового string типа.

+1

Java 'string' - это подсчитанная последовательность кодов Unicode/UTF-16: не участвует ASCII. (Моя клавиатура отправляет коды сканирования на компьютер, а не коды символов. Хотя все клавиши символов на моей клавиатуре могут быть представлены в наборе символов ASCII, это неверно для каждой клавиатуры и, конечно же, не относится к несимметричным клавишам. на клавиатурах.) –

+0

Вы полностью правы @TomBlodget, я об этом не думал. Но теперь у меня есть вопрос: что бы вы сделали, если хотите представить € (например), через входное значение, которое спрашивает OP? Было бы возможно? – xFunkyTImes

+1

Речь идет о выполнении сопоставления (смещение, предположительно с оберткой) из букв в некоторой последовательности на одну и ту же последовательность. Если проблемное пространство ограничено базовыми латинскими буквами, то по модулю арифметика будет работать после учета верхнего и нижнего регистра. Более обобщенное сопоставление может использовать параллельные массивы (или строки), потому что если вы собираетесь арифметически манипулировать символами, вам нужно добавить некоторые данные, относящиеся к вашему проблемному пространству, которые не являются внутренней характеристикой UTF-16. –

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