Я новичок в Java, и это очень простой вопрос. Это очень небольшая часть программы. Вот что мне нужно сделать:
Пользователь вводит номер (1-26) в keyLength
в качестве шифрования. Если число равно 1, secretletter
будет; если его 2 он будет б, и так далее до тех пор, г, где он не будет 26.Основные вопросы
То, что я хочу знать, что есть лучший путь, чем это:
if (keyLength==1){
secretletter=a;
if (keyLength==2){
secretletter=b;
То, что я сделано ниже, но мой цикл for неправильный, и я всегда заканчиваю z.
public static char secret(String str,int keyLength){
char secretletter = 0;
if (keyLength>=0 && keyLength<27){
for(char i='a'; i<='z';i++){
secretletter=i;
}
}
return secretletter;
}
EDIT: Я нашел ошибку и @that другой парень помог мне, а
secretletter=(char)('a'+ keyLength - 1);
'символ secretLetter = 'а' + Длина ключа - 1;' –
Может также рассмотреть возможность взглянуть на [этой] предыдущий вопрос (http://stackoverflow.com/questions/41580795/cant-shift-caesar -cipher-by-more-than-1) – MadProgrammer
Что вы делаете неправильно. Подсказка: 'String' является массивом' char'acter. Поэтому в цикле for попытайтесь изменить каждого персонажа с помощью секретного письма. –