Program do szyfrowania tekstu – proszę o pomoc

0

Witam.
Chciałbym zrobić program który będzie szyfrował wpisany przez użytkownika tekst. I mam pytanie, jak to zrobić? :p Mam taki pomysł aby tekst wprowadzony przez użytkownika był przerabiany według podanego wcześniej wzorca np.

String a = test;
tekstWyjsciowy = tekstWyjsciowy.toLowerCase();

for (int i =0; i > a.lenght; i++) {
Switch(inputTekstUzytkownika) {
       case "t":
       tekstWyjsciowy + "b";
       break;

      case "e":
      tekstWyjsciowy + "c";
      break;

      case "s":
      tekstWyjsciowy + "x";
      break;
}
}  

Chodzi mi o to aby było tyle takich Stringów 'a' ile liter w zmiennej i aby do tekstWyjsciowy była dodawana już zmieniona litera tak jak na przykładzie powyżej. tekstWyjsciowy powinien zawierać: 'bcxb'. Proszę o wytłumaczenie bo taki sposób na pewno istanieje a coś czuję, że kiedyś mi się to przyda. :)

P.S.
Wiem że ten przykład jest źle zrobiony ale jest tylo po to żeby zobrazować o co mi chodzi.

0

Do szyfrowania napisu mógłbyś np. zastosować Szyfr Cezara
To proste przestawianie wartości ASCII dla znaków, łatwo napisać też odkodowanie.

Łap moj kawałek kodu - w necie pewnie znajdziesz zgrabniejszy, ale to powinno Ci wystarczyć żeby załapać o co chodzi.

Scanner sc = new Scanner(System.in);
String userInput = sc.nextLine();
StringBuilder sb = new StringBuilder();
for(int i = 0 ; i < userInput.length() ; ++i){
     char temp = userInput.charAt(i);
     temp++;
     sb.append(temp);
}
userInput = sb.toString();

0
String tekstWejsciowy = "test".toLowerCase();
StringBuilder tekstWyjsciowy = new StringBuilder();
 
char[] tekstWejsciowy = tekstWejsciowy.toCharArra();

for (int i =0; i > a.lenght; i++) {
char znak = znak[i];
switch(znak) {
       case "t":
       tekstWyjsciowy.append("b");
       break;
 
      case "e":
      tekstWyjsciowy.append("c");
      break;
 
      case "s":
      tekstWyjsciowy.append("x");
      break;
}
String wynik = tekstWyjsciowy.toString()
}  

sprawdz cos takiego, moze sie nie kompilowac ;)

0

mozesz tez uzyc

char znak = tekstWejsciowy.charAt(i);

w momencie iterowania przez tekst

0

@EloMoto
Niestety nie skompilowało się. :-/ Popróbuję jeszcze może uda mi się coś wykminić na podstawie twojego kodu. ;)

0

Pisałem właśnie w inteliju i nie wiem dlaczego nie mogę wpisać .println, nie działa skrót sout i wiele innych komend. Co zrobić?

0

masz zsynchronizowane dependencje? projekt Ci sie buduje? zobacz czy nowy projekt z main normalnie Ci sie uruchamia, masz jakies bledy w konsoli , moze cos w message? jak nie dasz rady to wklej tutaj kod.

0

Wkleiłem ten szyfr cezara który podał Lukaspar. Próbowałem go przepisać ale to nic nie zmienia. Nie działają komendy które normalnie używałem i nie było problemu.
Uruchomiłem ponownie intelija ale nic się nie zmieniło. Nic nie mieszałem tylko pisałem kod.

1 użytkowników online, w tym zalogowanych: 0, gości: 1