Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ffprog:ffprogjava2016:inputoutput [2016/09/09 10:57] Ivo Blöchliger [Input / Output] |
ffprog:ffprogjava2016:inputoutput [2016/09/11 21:05] (current) Ivo Blöchliger [SOI - Aufgaben] |
||
---|---|---|---|
Line 1: | Line 1: | ||
{{backlinks> | {{backlinks> | ||
- | ==== Input / Output ==== | + | ===== Input / Output |
- | === Konsole === | + | ==== Konsole |
- | Output auf die Konsole: | + | === Output auf die Konsole |
<code java> | <code java> | ||
int a = 24; | int a = 24; | ||
Line 23: | Line 23: | ||
Mehr Infos auf https:// | Mehr Infos auf https:// | ||
- | Eingabe auf der Konsole: | + | === Eingabe auf der Konsole |
<code java> | <code java> | ||
// Eingabe. Scanner auf System.in (Konsolen-Eingabe) | // Eingabe. Scanner auf System.in (Konsolen-Eingabe) | ||
Line 36: | Line 36: | ||
</ | </ | ||
- | === Textdateien === | + | ==== Textdateien |
Hinweis: Operationen mit Dateien können Fehler verursachen (z.B. weil die Datei nicht (mehr) existiert). Diese Fehler können entweder abgefangen werden (mit try / catch) oder " | Hinweis: Operationen mit Dateien können Fehler verursachen (z.B. weil die Datei nicht (mehr) existiert). Diese Fehler können entweder abgefangen werden (mit try / catch) oder " | ||
<code java> | <code java> | ||
Line 53: | Line 53: | ||
</ | </ | ||
- | **Ausgabe in eine Datei**. Ohne absolute Pfadangabe landen die Dateien im aktuellen Projekt-Verzeichnis. | + | === Ausgabe in eine Datei === |
+ | Ohne absolute Pfadangabe landen die Dateien im aktuellen Projekt-Verzeichnis. | ||
<code java> | <code java> | ||
// Ausgabe in Datei | // Ausgabe in Datei | ||
Line 65: | Line 66: | ||
</ | </ | ||
- | **Lesen aus einer Datei**. | + | === Lesen aus einer Datei === |
<code java> | <code java> | ||
int x; | int x; | ||
int y; | int y; | ||
+ | Path datei = Paths.get(" | ||
// Datei öffnen und in einen Scanner einbinden | // Datei öffnen und in einen Scanner einbinden | ||
// Scanner und Datei werden am Ende vom try-Block automatisch geschlossen. | // Scanner und Datei werden am Ende vom try-Block automatisch geschlossen. | ||
Line 77: | Line 79: | ||
System.out.format(" | System.out.format(" | ||
</ | </ | ||
+ | |||
+ | ===== Aufgaben ===== | ||
+ | ==== Addition ==== | ||
+ | Gegeben ist eine Text-Datei mit einer positiven natürlichen Zahl pro Zeile. | ||
+ | Die erste Zahl gibt an, wie viele Serien in der Datei gespeichert sind. | ||
+ | Für jede Serie gibt die erste Zahl an, wie viele Zahlen gespeichert sind. | ||
+ | |||
+ | Die Ausgabe (auf die Konsole) ist ebenfalls eine Zahl pro Zeile, die der Summe aller Zahlen einer Serie entspricht. | ||
+ | Beispiel: (2 Serien, die erste mit 3 Zahlen (1,2,3), die zweite mit 2 Zahlen (1,2)): | ||
+ | <code text> | ||
+ | 2 | ||
+ | 3 | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | 2 | ||
+ | 1 | ||
+ | 2 | ||
+ | </ | ||
+ | Das korrekte Resultat in diesem Fall wäre: | ||
+ | <code text> | ||
+ | 6 | ||
+ | 3 | ||
+ | </ | ||
+ | Beispieldateien: | ||
+ | * Input: {{ : | ||
+ | * Input: {{ : | ||
+ | |||
+ |