This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.*; | |
public class Caesar { | |
public static void main (String[] args)throws IOException{ | |
char[] kleinbuchstaben = {'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', 'ä', 'ö', 'ü', 'ß'}; | |
char[] grossbuchstaben = {'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', 'Ä', 'Ö', 'Ü', '$'}; | |
InputStreamReader isr = new InputStreamReader(System.in); | |
BufferedReader br = new BufferedReader(isr); | |
System.out.println("Wählen Sie eine Aktion aus:"); | |
System.out.println("1: Verschlüsseln 2: Entschlüsseln"); | |
String eingabe = br.readLine(); | |
int auswahl = Integer.parseInt(eingabe); | |
System.out.println("Geben Sie Ihren Code ein:"); | |
eingabe = br.readLine(); | |
int code = Integer.parseInt(eingabe); | |
if (auswahl == 1){ | |
verschluesseln(code, kleinbuchstaben, grossbuchstaben); | |
} | |
else if (auswahl == 2){ | |
entschluesseln(code, kleinbuchstaben, grossbuchstaben); | |
} | |
else{ | |
System.out.println("Sie haben eine ungültige Zahl eingegeben."); | |
} | |
} | |
public static void verschluesseln(int code, char[] klein, char[]gross)throws IOException{ | |
String datei1 = dateiAbfragen("Geben Sie den Dateinamen des unverschlüsselten Texts ein:"); | |
String datei2 = dateiAbfragen("In welcher Datei möchten Sie den verschlüsselte Text speichern?"); | |
String inhalt = dateiEinlesen(datei1); | |
if (inhalt == "Fehler"){ | |
return; | |
} | |
char[] charArray = inhalt.toCharArray(); | |
String ausgabe = ""; | |
for(int i = 0; i < charArray.length; i++){ | |
for (int j = 0; j < klein.length; j++){ | |
if (charArray[i] == klein[j]){ | |
charArray[i] = klein[(j + code) % klein.length]; | |
break; | |
} | |
else if (charArray[i] == gross[j]){ | |
charArray[i] = gross[(j + code) % gross.length]; | |
break; | |
} | |
} | |
} | |
System.out.println(charArray); | |
dateiSchreiben(new String(charArray), datei2); | |
} | |
public static void entschluesseln(int code, char[] klein, char[]gross)throws IOException{ | |
String datei1 = dateiAbfragen("Geben Sie den Dateinamen des verschlüsselten Texts ein:"); | |
String datei2 = dateiAbfragen("In welcher Datei möchten Sie den unverschlüsselte Text speichern?"); | |
String inhalt = dateiEinlesen(datei1); | |
if (inhalt == "Fehler"){ | |
return; | |
} | |
char[] charArray = inhalt.toCharArray(); | |
String ausgabe = ""; | |
for(int i = 0; i < charArray.length; i++){ | |
for (int j = 0; j < klein.length; j++){ | |
if (charArray[i] == klein[j]){ | |
charArray[i] = klein[(j - code) % klein.length]; | |
break; | |
} | |
else if (charArray[i] == gross[j]){ | |
charArray[i] = gross[(j - code) % gross.length]; | |
break; | |
} | |
} | |
} | |
System.out.println(charArray); | |
dateiSchreiben(new String(charArray), datei2); | |
} | |
public static String dateiAbfragen(String text)throws IOException{ | |
InputStreamReader isr = new InputStreamReader(System.in); | |
BufferedReader br = new BufferedReader(isr); | |
System.out.println(text); | |
String dateiname = br.readLine(); | |
return dateiname; | |
} | |
public static String dateiEinlesen(String dateiname){ | |
try{ | |
FileInputStream fis = new FileInputStream(dateiname); | |
InputStreamReader isr = new InputStreamReader(fis); | |
BufferedReader br = new BufferedReader(isr); | |
String linie = br.readLine(); | |
String inhalt = ""; | |
while (linie != null){ | |
inhalt += linie; | |
linie = br.readLine(); | |
} | |
br.close(); | |
return inhalt; | |
} | |
catch (IOException ioAusnahme){ | |
System.out.println("Datei konnte nicht geöffnet werden."); | |
return "Fehler"; | |
} | |
} | |
public static void dateiSchreiben(String inhalt, String dateiname){ | |
try{ | |
File datei =new File(dateiname); | |
datei.createNewFile(); | |
BufferedWriter bw = new BufferedWriter(new FileWriter(dateiname, true)); | |
bw.write(inhalt); | |
bw.close(); | |
} | |
catch(IOException ioAusnahme){ | |
System.out.println("Fehler beim Öffnen der Datei"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment