Программирование в течение 4 недель идет легко для меня ...
Цель: Мне нужно ввести пользовательское "ключевое слово" и использовать это ключевое слово в алфавитном шифре.
Пример: Пользователь предоставляет ключевое слово "SALT".
Шифр: SALTBCDEFGHIJKMNOPQRUVWXYZ.(ключевое слово + оставшиеся буквы алфавита)
Я превратил свое строковое ключевое слово в массив символов, и у меня есть массив алфавитов.Я хотел, чтобы код зацикливался на обоих массивах, и если буквы алфавита не было (равно) буквам ключевых слов, то он добавлял их в конец ключевого слова.
Проблемы - я получаю исключение ArrayOutOfBoundsException - что, по моему мнению, связано с тем, что оба моих массива имеют разные размеры?Не уверен, как это исправить.Также мне нужно будет создать третий массив для хранения ключевого слова + оставшихся букв алфавита, поскольку массивы не могут изменить размер?Я могу использовать только Массивы (списки, Hashsets и т. Д., Поскольку я их еще не изучил).Спасибо за любую помощь ..
char[] arr = keyWord.toCharArray();
for (char c:arr) {
System.out.println(c); //printing to see if it worked
}
char [] alphabet = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
'V', 'W', 'X', 'Y', 'Z'
};
System.out.println(alphabet);
boolean flag = false;
for (int i = 0; i <alphabet.length; i++) {
for (int j = 0; j <keyWord.length(); j++) {
if (alphabet[j] != arr[i])
//if alpha letter is not equal to keyword letters
flag = false;
break;
}
if (flag)
//(false) just trying to print anything so
// i can see whats happening..
System.out.println(alphabet[i]);
}
}
}