Ошибка: Статическая ссылка на нестатический метод - Попытка отобразить зашифрованный текст - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь сделать криптограф, но не могу отобразить результат. Я получаю сообщение об ошибке: «Невозможно сделать статическую ссылку на нестатический метод encrypt (String) из типа Cryptographer» в minchiffer.displayText (). Изменение метода encrypt на static делает его вывод неправильным шифром. Есть ли способ обойти эту проблему? Заранее спасибо!

Основной:

public class Chiffer {
public static void main(String[] args) {

    TextWindow title = new TextWindow("Title");                 //Skapar fönster Title
    TextView klartext = new TextView("Klartext", 10, 100);      //Skapar textvy klartext
    TextView minchiffer = new TextView("Min chiffertext", 10, 100); //Skapar textvy minchiffer
    TextView chiffer = new TextView("Korrekt chiffertext", 10, 100);        //Skapar textvy chiffer

    TestCase testcase = new TestCase(); //Skapar TestCaset

    int i = 1;

    title.addView(klartext);                //  Lägger in textvyn klartext in i fönster Title
    title.addView(minchiffer);              //  Lägger in minchiffer i Title
    title.addView(chiffer);                 //  Lägger in chiffer i Title



    while (i <= 5) {


        klartext.displayText(testcase.getClearText(i));             // Printar klartext i till textvyn head
        minchiffer.displayText(Cryptographer.encrypt(testcase.getClearText(i)));    // Printar text i till textvyn head
        chiffer.displayText(testcase.getCryptoText(i));             // Printar crytpo text i till textvyn head
        title.waitForMouseClick();

        i++;
    }

}

Класс для шифрования:

public class Cryptographer {    


public String encrypt(String text) {
    StringBuilder klartext = new StringBuilder(text);   //Stringbuilder klartext av text i
    StringBuilder minchiffer = new StringBuilder();                         //Stringbuilder mintext / buffert

    String s = klartext.toString();                                     // String av Stringbuilder klartext
    String ss = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    char[] chiffer = "LKSBFMVAEYNTIOXJWCUPQDRHZG".toCharArray();
    char[] arrayklartext = s.toCharArray();             //Gör array av String s
    Key nyckel = new Key();

    for (int i=0; i < text.length(); i++) {
        int flyttsteg;  //Steg som den flyttar sig
        int q = 0; //Counter

        if (!Character.isWhitespace(arrayklartext[i])) {
            flyttsteg = nyckel.getStart() + ss.indexOf(klartext.charAt(i)) + q; //ss.indexof sätter den på bokstavens plats i alfabetet
            minchiffer.append((char) (chiffer[flyttsteg % 26])); //Sätter chifferbokstav på plats vilketnmr på klartext teckennmr
            q++;

        } else {
            minchiffer.append(' ');
            flyttsteg =+ 1;
        }
    }

    String klar = minchiffer.toString();
    return klar;

}
...