Я делаю Java-программу, которая запускает Caeser Cipher. Я создал 2 метода, которые кодируют и декодируют, используя Caeser Cipher, и вот они.
//encoder method
public static String encoder(String text, int shift)
{
String alpha = "abcdefghijklmnopqrstuvwxyz";
String total = "";
for (int i = 0; i < text.length(); i++)
{
String temp = text.substring(i, i + 1);
if (!temp.equalsIgnoreCase(" "))
{
int e = alpha.indexOf(temp);
e += shift;
if (e >= 26)
e -= 26;
total += alpha.substring(e, e + 1);
}
else
total += " ";
}
return total;
}
//decoder method
public static String decoder(String text, int shift)
{
String alpha = "abcdefghijklmnopqrstuvwxyz";
String total = "";
for (int i = 0; i < text.length(); i++)
{
String temp = text.substring(i, i + 1);
if (!temp.equalsIgnoreCase(" "))
{
int e = alpha.indexOf(temp);
e -= shift;
if (e <= 0)
e += 26;
total += alpha.substring(e, e + 1);
}
else
total += " ";
}
return total;
}
Я пытаюсь создать программу, которая запрашивает 2 текстовых поля: в каждом из них есть текст с надписью «Ввод текста:» и «Номер сдвига:». Под этими полями ввода текста я хочу 2 кнопки с надписью Encode и Decode. Каждый из блоков будет запускать соответствующие методы. Я новичок в создании JPanels и JOptionPane, и я просмотрел его в течение нескольких дней, но я все еще в замешательстве. Перед занятием я добавил:
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
Я нашел это в другом вопросе о переполнении стека, но я все еще в замешательстве.
Спасибо!