Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Comparator;
- public class ZF {
- static String[] einSatzC() {
- String konstant[] = { "Das", "hier", "ist", "ein", "Satz" }; //Array mit vorgebenem konstanten Satz
- for (int i = 0; i < konstant.length; i++) { //Ausgabe der einzelnen Komponenten
- System.out.print(konstant[i] + " ");
- }
- return konstant;
- }
- static String[] einSatzT() {
- System.out.println("Bitte geben Sie einen beliebig langen Satz ein: ");
- String eingabe = IO1.einstring(); // Eingabe des Benutzers wird in einem String gespeichert
- String[] split = eingabe.split(" "); // dieser String ( eingabe ) wird geschnitten/gesplited an jeder Leerzeichenstelle (" ")
- // Der Satz wird quasi in Wörter geschnitten
- for (int i = 0; i < split.length; i++) {
- System.out.print(split[i] + " ");
- }
- return split;
- }
- static String niBuFilter(String e1) { // Methode zum Entfernen fremder Zeichen
- String bereinigt;
- bereinigt = e1.replaceAll("[^a-zA-Z]", ""); //Befehl für : Entferne alle Zeichen, die nicht a-z bzw A-Z sind und ersetze diese durch ein ""
- // System.out.println(bereinigt);
- return bereinigt; // neuer bereinigter String wird im Rückgabewert abgespeichert
- }
- static String k2G(String e1) { //Methode zum umwandeln der kleinen Buchstaben in große
- for (char c : e1.toCharArray()) { // String e1/c wird in ein Array vom Typ Char (also nichts anderes als die einzelnen Buchstaben des Wortes ) und über eine for Schleife wird dieses Wort abgeklappert
- if (Character.isLowerCase(c)) { // WENN aktuell gewähltes Zeichen des Wortes klein ist (lowerCase) von unserem Wort c, dann gib dieses Zeichen in groß aus
- System.out.print(Character.toUpperCase(c)); // wenn das nicht der Fall ist, lasse den großen Buchstaben groß und nichts passiert außer der Ausgabe.
- } else {
- System.out.print(c);
- }
- }
- return e1;
- }
- static String[] bubbleS(String zusortieren[]) {
- Arrays.sort(zusortieren, new Comparator<String>() { //sortier Befehl von dem Array zusortieren. Comparator dient zur alphabetischen überprüfung
- @Override // das wird automatisch erzeugt, wenn man den Comparator nutzt.
- public int compare(String first, String second) { // vergleiche ersten String mit zweitem
- return first.toLowerCase().compareTo(second.toLowerCase());
- }
- });
- System.out.println(Arrays.toString(zusortieren));
- return zusortieren;
- }
- public static void main(String args[]) {
- boolean wiederholen = false;
- do {
- System.out.println(
- "Möchten Sie einen konstanten Satz oder selbst einen wählen? Bitte eingeben [konstant] / [selbst]");
- String eingabe = IO1.einstring();
- switch (eingabe) {
- case "selbst": // im Falle einer Benutzereingabe "selbst"
- String[] eigenerSatz = einSatzT();
- System.out.println(
- " \nWählen Sie aus: [1] Satz auf fehlerhafte Wörter überprüfen. [2]Kleine Buchstaben in große. [3]Wörter alphabetisch sortieren. ");
- eingabe = IO1.einstring();
- switch (eingabe) {
- case "1":
- String sauber[] = new String[eigenerSatz.length]; //Methode niBuFilter wird über eine for schleife aufgerufen
- for (int i = 0; i < eigenerSatz.length; i++) {
- sauber[i] = niBuFilter(eigenerSatz[i]);
- System.out.print(sauber[i] + " ");
- }
- break;
- case "2":
- for (int i = 0; i < eigenerSatz.length; i++) { //Methode k2G wird über eine for schleife aufgerufen
- k2G(eigenerSatz[i]);
- }
- break;
- case "3":
- bubbleS(eigenerSatz); //Methode bubbleS wird über eine for schleife aufgerufen
- break;
- }
- System.out.println("\nMöchten Sie eine weiteren Durchgang durchführen? [Ja/Nein]");
- eingabe = IO1.einstring();
- if (eingabe.equals("Ja")) {
- wiederholen = true;
- } else
- wiederholen = false;
- break;
- case "konstant":
- String[] konstant = einSatzC();
- System.out.println(
- " \nWählen Sie aus: [1] Satz auf fehlerhafte Wörter überprüfen. [2]Kleine Buchstaben in große. [3]Wörter alphabetisch sortieren. ");
- eingabe = IO1.einstring();
- switch (eingabe) {
- case "1":
- String sauber[] = new String[konstant.length];
- for (int i = 0; i < konstant.length; i++) {
- sauber[i] = niBuFilter(konstant[i]);
- System.out.print(sauber[i] + " ");
- }
- break;
- case "2":
- for (int i = 0; i < konstant.length; i++) {
- k2G(konstant[i]);
- }
- break;
- case "3":
- bubbleS(konstant);
- break;
- }
- System.out.println("\nMöchten Sie eine weiteren Durchgang durchführen? [Ja/Nein]");
- eingabe = IO1.einstring();
- if (eingabe.equals("Ja")) {
- wiederholen = true;
- } else
- wiederholen = false;
- break;
- }
- }while (wiederholen); // wenn der Benutzer am Ende Ja eingibt, erhält wiederholen der Wert true und springt auf den do { Start zurück
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement