Итак, для школы я должен написать программу, которая реализует Цезарь Шифр.Я делал это, и все шло хорошо, однако сам метод шифрования не работает так, как я планировал.
Например, допустим, мы собираемся зашифровать строку "abc"
Это выглядит как:
abc
Это приходиткак:
bbc
Теперь я точно знаю, какие строки кода вызывают эту проблему.Единственная проблема - я точно не знаю, как это исправить.
Вот мой код:
public static void encrypt(String toencrypt)
{
unencrypted = toencrypt.toLowerCase();
char[] sEn = unencrypted.toCharArray();
char[] enEd = new char[sEn.length];
if(toencrypt.length() > 0)
{
for(int i = 0; i < ALPHABET.length; i++)
{
for(int j = 0; j < sEn.length; j++)
{
if(sEn[j] == ALPHABET[i])
{
sEn[j] = CIPHERBET[i];
}
//Below is the 'if' statement causing the issue
if(enEd[j] == 0)
{
enEd[j] = sEn[j];
}
}
}
String bts = new String(enEd);
encrypted = bts;
System.out.println("The encrypted message is: " + encrypted);
}
else
{
System.out.println("Please enter a string: ");
}
}
Если вы запутались в любом из типов данных, которые явно не указаны в методе, вот они:
- ALPHABET - это массив символов
- CIPHERBET также является массивом символов
Я буду чрезвычайно признателен за любую помощь, которую смогу получить.
Спасибозаранее.