|
|
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) |
| Zeile 19: |
Zeile 19: |
| = [[DCV_2022_03/Strukturierte_Programmierung_Uebungen/String_Operationen|String Operationen]] = | | = [[DCV_2022_03/Strukturierte_Programmierung_Uebungen/String_Operationen|String Operationen]] = |
|
| |
|
| = Datenströme = | | = [[DCV_2022_03/Strukturierte_Programmierung_Uebungen/Datenströme|Datenströme]] = |
| Im folgenden geht es um das einlesen und verarbeiten von Textdateien. Erstelle wo möglich und nötig für die einzelnen Schritte eine eigene Methode. Verwende dazu die Datei '''file.txt''' im '''assets''' Ordner.
| |
| {{JML|code=
| |
| String path = "assets/file.txt";
| |
| }}
| |
|
| |
|
| === Aufgabe: File einlesen und Ausgeben === | | = [[DCV_2022_03/Strukturierte_Programmierung_Uebungen/Comma_Separated_Values|'''C'''omma '''S'''eparated '''V'''alue]] = |
| Lies das '''File''' mit hilfe von {{JSL|Scanner}} oder {{JSL|BufferedRead}} ein und gib es aus.
| |
| | |
| === Aufgabe: Buchstaben zählen ===
| |
| Lies das '''File''' mit hilfe von {{JSL|Scanner}} oder {{JSL|BufferedRead}} ein.
| |
| # Gib die Anzahl der Buchstaben aus
| |
| # Erstelle eine Methode welche nur einen bestimmten Buchstaben des Texts zählt, welcher als Parameter mitgegeben wird.
| |
| # Erstelle eine Methode welche ein {{JSL|char[]}} von Bestimmten Buchstaben des Texts zählt. Das {{JSL|char[]}} soll als Parameter mitgegeben werden können. Es soll nur die Gesamtzahl aller Vorkommnisse der Buchstaben gezählt werden. Wie oft ein einzelner Buchstabe vorkommt ist hier uninteressant.
| |
| | |
| '''Tip zu 2)'''
| |
| | |
| {{JSL|System.out.println(countChar(text, 'a'));}}
| |
| | |
| '''Tip zu 3)'''
| |
| | |
| {{JML|code=
| |
| char[] charsToCount = new char[]{'a', 'z', 'e'};
| |
| System.out.println(countChars(text, charsToCount));
| |
| }}
| |
| | |
| === Aufgabe: Wörter zählen ===
| |
| Lies das '''File''' mit Hilfe von {{JSL|Scanner}} oder {{JSL|BufferedRead}} ein. Und gib die Anzahl der Wörter aus. Es muss nicht exakt sein.
| |
| | |
| === Aufgabe: Dynamisches Wörter zählen ===
| |
| Lies das '''File''' mit Hilfe von {{JSL|Scanner}} oder {{JSL|BufferedRead}} ein. Frage den Benutzer nach einem '''bestimmten Wort''' und gib aus wie oft es vorkommt.
| |
| | |
| === Aufgabe: Dynamisches Wörter ersetzen ===
| |
| Lies das '''File''' mit Hilfe von {{JSL|Scanner}} oder {{JSL|BufferedRead}} ein. Frage den Benutzer nach '''zwei Wörtern'''. Das '''erste Wort''' soll durch das '''zweite Wort''' im Text ersetzt werden. Gib dannach den Text aus.
| |
| | |
| === Aufgabe: File schreiben ===
| |
| Lies solange eingaben vom Benutzer, bis eine Leerzeile eingegeben wird. Dann schreibe die Eingaben in eine Datei. Der Pfad soll lauten '''assets/tmp/output.txt'''.
| |
| | |
| = '''C'''omma '''S'''eparated '''V'''alue =
| |
| CSV Dateien sind strukturierte Textdateien, die durch einen Separator (z.B.: ,) getrennt sind.
| |
| === Aufgabe: Read and Display ===
| |
| Lies die CSV Datei '''assets/sales_100.csv''' ein und speichere diese in einem {{JSL|String}}. Zerlege den {{JSL|String}} zuerst nach Zeilen, dann nach Spalten und erstelle somit ein {{JSL|String[][]}}, ein '''zweidimensionales Array'''. Gib nun mit Hilfe des {{JSL|String[][]}}, die Daten schön formatiert aus.
| |
| | |
| === Aufgabe: Read and Display optimiert ===
| |
| Verarbeite die CSV Datei wie in der vorhergehenden Aufgabe. Für die Ausgabe finde zuerst die optimale Spaltenbreite für jede Spalte.
| |
| | |
| === Aufgabe: Read and Display sortiert ===
| |
| Verarbeite die CSV Datei wie in den vorhergehenden Aufgaben. Weiters erfrage vom Benutzer nach welcher Spalte die Datei sortiert werden soll. Suche nach der Eingabe zuerst nach der gewünschten Spalte. Ist diese vorhanden, sortiere das {{JSL|String[][]}} '''lexikografisch''' und gib es aus.
| |
| '''Achtung''' der Header darf nicht sortiert werden!!! '''Achtung'''
| |
| | |
| === Aufgabe: Read and Display sortiert extended === | |
| Verfahre wie in der vorhergehenden Aufgabe. Handelt es sich bei dem Inhalt einer Spalte um '''Zahlen''' so behandle diese auch als solche.
| |
| | |
| Tip: {{JSL|Float.parseFloat(...)}}, {{JSL|Integer.parseInt(...)}}
| |
| | |
| === Aufgabe: Read and Write ===
| |
| Lies und verarbeite die CSV Datei wie in vorhergehender [[Strukturierte_Programmierung_Uebungen#Aufgabe:_Read_and_Display|Aufgabe]] ein. Schreib das {{JSL|String[][]}} als CSV nun in eine neue Datei. Verwende als Separator (Trennzeichen) {{BSL|;}}.
| |
Im folgenden finden sich verschiedene Übungsaufgaben für den Bereich der Strukturierten Programmierung in Java. Es müssen nicht alle Aufgaben zur Gänze gelöst werden. Es sollten jedoch einige Aufgaben dabei Sein die ihr lösen könnt:-)
Solltet ihr Fehler finden dürft ihr diese gerne beheben, es ist ein Wiki
Habt ihr Fragen, so meldet euch einfach
Befindet sich bei einer Aufgabe eine Nummerierung im Inhalt, so sind diese als unterschiedliche Varianten anzusehen. Also eigentlich mehrere Aufgaben. Ihr dürft aber gerne auf bestehenden Code zurückgreifen