-
Notifications
You must be signed in to change notification settings - Fork 0
/
PalindromeFile.java
80 lines (72 loc) · 2.42 KB
/
PalindromeFile.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package de.niklas.exercise.io;
import java.io.*;
import java.util.Scanner;
/**
* <strong>Palindrome Speichern</strong><br>
* Überprüfen auf Palindrom und speichern wenn es so ist. Ausgabe der Datei anschließend
*
* @see "15_IO_Aufgaben-2.pdf"
* @see de.niklas.exercise.strings.Palindrome
* @author Niklas Buse
*/
public class PalindromeFile {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Bitte Wort eingeben: ");
String eingabe = scan.next();
StringBuffer ergebnis = new StringBuffer();
for(int i = eingabe.length()-1; i >= 0; i--){ // Hier wird der String von Hinten nach Vorne durchgegangen
ergebnis.append(eingabe.charAt(i));
}
System.out.printf("Umgekehrt: %s\n", ergebnis);
System.out.printf("%s ist %s Palindrom\n",
eingabe,
(eingabe.equalsIgnoreCase(ergebnis.toString())? "ein": "kein") // Überprüfung ohne Beachtung der Großschreibung, ob es sich um ähnliche Strings handelt
);
// Ab hier beginnt das neue
String dateiName = "FileExperiments/palindrome.txt";
if(eingabe.equalsIgnoreCase(ergebnis.toString())){ // Nur speichern, wenn es wirklich ein Palindrom ist
try(FileWriter fileWriter = new FileWriter(dateiName, true)){
fileWriter.write(eingabe + System.lineSeparator());
}
catch (IOException e){
e.printStackTrace();
}
}
System.out.println("Alle bisher gefundenen Palindrome: ");
try(BufferedReader bufferedReader = new BufferedReader(new FileReader(dateiName))){ // BufferedReader um einzelne Zeilen lesen zu können
while (bufferedReader.ready()){
System.out.println(bufferedReader.readLine()); // jede zeile wird ausgegeben
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
/* Beispielausführung
--------------------------------------
Eingabe:
Lagerregal
--------------------------------------
Ausgabe:
Bitte Wort eingeben: Lagerregal
Umgekehrt: lagerregaL
Lagerregal ist ein
Alle bisher gefundenen Palindrome:
Anna
Otto
EinEsellesenie
Otto
mnbvbnm
Lagerregal
--------------------------------------
Inhalt der Datei (crossTotal.txt):
Anna
Otto
EinEsellesenie
Otto
mnbvbnm
Lagerregal
--------------------------------------
*/