Zur Hauptnavigation springen [Alt]+[0] Zum Seiteninhalt springen [Alt]+[1]

Externe Daten

Punktetabelle

Bild: Screenshot von Ausführung des Programms „balkendiagramm_csv“ (Schaller, ZPG IMP)

Aufgabe: Ein Array soll mit Werten aus einer Datei gefüllt und dann angezeigt werden.

Externe Dateien

Aufgabe externe Datei:

Lade die Datei punkte.csv mit einem Texteditor (nicht mit einer Tabellenkalkulation!):

  1. Untersuche, wie viele Zeilen und wie viele Spalten sie hat. Ist es eine csv-Datei mit Überschriften? Welches Trennzeichen wurde zwischen den Werten verwendet? Wurden alle Texte in Anführungszeichen eingeschlossen?

    Ergänze die Datei um zwei eigene Einträge (so kannst du cheaten... ).

Datentypen

Nachdem man die Struktur der Daten kennt, kann man sich überlegen, welche Datentypen dazu passen:

Art der Daten Datentyp Befehl zum Auslesen aus CSV-Datei
Ganze Zahlen int csv.getInt(i,"Punkte");
Dezimalzahlen double oder float csv.getFloat(i, "Messwert");
Texte String csv.getString(i, "Name");

Punktschreibweise

Verwendet man vorgegebene Bibliotheken, muss man oft zunächst ein sogenanntes "Objekt" einer "Klasse" erschaffen (Befehl new):

z.B. Table csv = new Table(name,"header",',','"');

Hier wird das Objekt csv vom Typ Table erschaffen. Dieses Objekt hat dann bestimmte Fähigkeiten. Man kann sie mit objektname.faehigkeit() (Punktschreibweise) nutzen:

z.B. csv.getInt(i, 2);

Welche Fähigkeiten das Objekt hat, musst du der Dokumentation entnehmen.

Aufgabe Implementation:

Lade die Datei alg12_balkendiagramm_csv:

  1. Deklariere ein Array zahlen für die Punkte (welcher Typ ist geeignet?). Deklariere ein Array namen für die Spielernamen (welcher Typ ist geeignet?).

  2. Implementiere die Methode ladeTabelle(String name). Initialisiere dazu dort die Arrays in der richtigen Größe (siehe Arbeitsblatt Zufallszahlen) und fülle sie dann mit den Werten aus der Tabelle (siehe Schritt 3).

  3. Implementiere die Methode zeichenBalken(), so dass das Bild wie oben dargestellt aussieht. Die Namen der Spieler musst du dazu aus dem Array namen herauslesen.

Testen der Implementation:

Da hier Daten aus einer externen Datei kommen, können hier viele Fehler passieren. Zum Beispiel könnte die Datei gar nicht existieren oder keine Überschriften enthalten.

  1. Überlege dir noch zwei Fehler, die die Daten haben könnten.

  2. Kopiere die Datei punkte.csv, passe das Programm so an, dass deine Kopie geladen wird, und experimentiere, was bei den Fehlern passiert.

  3. Lies die Dokumentation zum Befehl, der zum Laden der Datei verwendet wird, und versuche das Programm so anzupassen, dass es mit einer Datei ohne Überschriften zurecht kommt.

  4. Versuche möglichst viele Fehler abzufangen (z.B. das Fehlen der Datei).

Expertenaufgabe:

  1. Kopiere dein Programm in ein Programm alg12_balkendiagramm_xml. Lass dir die Datei punkte.xml geben. Untersuche die XML-Datei und versuche dein Programm mit Hilfe der Dokumentation der Klasse XML so anzupassen, dass es in der Lage ist, die XML-Datei zu lesen.

 

 

Externe Daten: Herunterladen [odt][138 KB]

Externe Daten: Herunterladen [pdf][144 KB]

Hilfekarten: Herunterladen [odt][131 KB]

Hilfekarten: Herunterladen [pdf][121 KB]

 

Weiter zu Hilfekarten 1