Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Comparator;
  3.  
  4. public class ZF {
  5.  
  6. static String[] einSatzC() {
  7. String konstant[] = { "Das", "hier", "ist", "ein", "Satz" }; //Array mit vorgebenem konstanten Satz
  8.  
  9. for (int i = 0; i < konstant.length; i++) { //Ausgabe der einzelnen Komponenten
  10.  
  11. System.out.print(konstant[i] + " ");
  12. }
  13.  
  14. return konstant;
  15. }
  16.  
  17. static String[] einSatzT() {
  18.  
  19. System.out.println("Bitte geben Sie einen beliebig langen Satz ein: ");
  20. String eingabe = IO1.einstring(); // Eingabe des Benutzers wird in einem String gespeichert
  21. String[] split = eingabe.split(" "); // dieser String ( eingabe ) wird geschnitten/gesplited an jeder Leerzeichenstelle (" ")
  22. // Der Satz wird quasi in Wörter geschnitten
  23. for (int i = 0; i < split.length; i++) {
  24.  
  25. System.out.print(split[i] + " ");
  26. }
  27.  
  28. return split;
  29. }
  30.  
  31. static String niBuFilter(String e1) { // Methode zum Entfernen fremder Zeichen
  32.  
  33. String bereinigt;
  34. 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 ""
  35. // System.out.println(bereinigt);
  36. return bereinigt; // neuer bereinigter String wird im Rückgabewert abgespeichert
  37. }
  38.  
  39. static String k2G(String e1) { //Methode zum umwandeln der kleinen Buchstaben in große
  40.  
  41. 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
  42. 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
  43. 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.
  44. } else {
  45. System.out.print(c);
  46. }
  47. }
  48.  
  49. return e1;
  50. }
  51.  
  52. static String[] bubbleS(String zusortieren[]) {
  53. Arrays.sort(zusortieren, new Comparator<String>() { //sortier Befehl von dem Array zusortieren. Comparator dient zur alphabetischen überprüfung
  54. @Override // das wird automatisch erzeugt, wenn man den Comparator nutzt.
  55. public int compare(String first, String second) { // vergleiche ersten String mit zweitem
  56. return first.toLowerCase().compareTo(second.toLowerCase());
  57. }
  58. });
  59. System.out.println(Arrays.toString(zusortieren));
  60. return zusortieren;
  61. }
  62.  
  63. public static void main(String args[]) {
  64.  
  65. boolean wiederholen = false;
  66.  
  67. do {
  68.  
  69. System.out.println(
  70. "Möchten Sie einen konstanten Satz oder selbst einen wählen? Bitte eingeben [konstant] / [selbst]");
  71. String eingabe = IO1.einstring();
  72.  
  73. switch (eingabe) {
  74.  
  75. case "selbst": // im Falle einer Benutzereingabe "selbst"
  76.  
  77. String[] eigenerSatz = einSatzT();
  78. System.out.println(
  79. " \nWählen Sie aus: [1] Satz auf fehlerhafte Wörter überprüfen. [2]Kleine Buchstaben in große. [3]Wörter alphabetisch sortieren. ");
  80. eingabe = IO1.einstring();
  81.  
  82. switch (eingabe) {
  83.  
  84. case "1":
  85.  
  86. String sauber[] = new String[eigenerSatz.length]; //Methode niBuFilter wird über eine for schleife aufgerufen
  87. for (int i = 0; i < eigenerSatz.length; i++) {
  88. sauber[i] = niBuFilter(eigenerSatz[i]);
  89. System.out.print(sauber[i] + " ");
  90.  
  91. }
  92. break;
  93.  
  94. case "2":
  95. for (int i = 0; i < eigenerSatz.length; i++) { //Methode k2G wird über eine for schleife aufgerufen
  96. k2G(eigenerSatz[i]);
  97.  
  98. }
  99. break;
  100.  
  101. case "3":
  102. bubbleS(eigenerSatz); //Methode bubbleS wird über eine for schleife aufgerufen
  103. break;
  104. }
  105. System.out.println("\nMöchten Sie eine weiteren Durchgang durchführen? [Ja/Nein]");
  106. eingabe = IO1.einstring();
  107. if (eingabe.equals("Ja")) {
  108. wiederholen = true;
  109. } else
  110. wiederholen = false;
  111.  
  112. break;
  113. case "konstant":
  114.  
  115. String[] konstant = einSatzC();
  116. System.out.println(
  117. " \nWählen Sie aus: [1] Satz auf fehlerhafte Wörter überprüfen. [2]Kleine Buchstaben in große. [3]Wörter alphabetisch sortieren. ");
  118. eingabe = IO1.einstring();
  119.  
  120. switch (eingabe) {
  121.  
  122. case "1":
  123.  
  124. String sauber[] = new String[konstant.length];
  125. for (int i = 0; i < konstant.length; i++) {
  126. sauber[i] = niBuFilter(konstant[i]);
  127. System.out.print(sauber[i] + " ");
  128.  
  129. }
  130. break;
  131.  
  132. case "2":
  133. for (int i = 0; i < konstant.length; i++) {
  134. k2G(konstant[i]);
  135. }
  136. break;
  137.  
  138. case "3":
  139. bubbleS(konstant);
  140.  
  141. break;
  142. }
  143.  
  144. System.out.println("\nMöchten Sie eine weiteren Durchgang durchführen? [Ja/Nein]");
  145. eingabe = IO1.einstring();
  146. if (eingabe.equals("Ja")) {
  147. wiederholen = true;
  148. } else
  149. wiederholen = false;
  150. break;
  151. }
  152. }while (wiederholen); // wenn der Benutzer am Ende Ja eingibt, erhält wiederholen der Wert true und springt auf den do { Start zurück
  153.  
  154. }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement