Problembeschreibung:
Die mir gestellte Aufgabe befasst sich mit dem Auslesen, bzw. Schreiben von erfassten Daten aus bzw. in eine Datei. So gehen die Daten zwischen einzelnen Sitzungen nicht verloren.
Nun zur Er läuterung des Be ispi els:
Vorhanden ist eine Kfz-Datenbank, welche schon als Beispiel im Unterricht des vergangenen Halbjahres verwendet wurde.
In diese Datenbank kann man Daten von vorhandenen Autos eintragen wie z.B. die Marke, Hubraum, Farbe usw. Sie ist beliebig erweiterbar im Bezug auf die einzulesenden Daten.
Im Unterricht erweiterten wir sie z.B. um das Kriterium „Cabrio Ja/Nein“.
In meiner Hausarbeit verwende ich jedoch die erste, einfachere Form des Programms, welche mir zur Darstellung des Problems mehr als ausreichend erscheint.
Eine Datei wird, falls vorhanden, eingelesen. Dann kann man Daten hinzufügen, welche nach Ende des Programms wieder in einer Datei gespeichert werden können.
Algorithmen / Pseudocode:
1.) Auto.dat vorhanden? (ja/nein) € einlesen wenn vorhanden (nach dem Einlesen wieder schließen)
2.) Neue Daten vom Benutzer erfassen
3.) Nach Abbruch der Eingabe € Neuen Daten am Bildschirm ausgeben 4.) Nach dem Ausgeben die Daten in auto.dat schreiben.
5.) Fertig -
Programm:
Die Datei Auto.java
In der Datei Auto.java werden zuerst die Variablen deklariert und die einzelnen Elemente abgefragt. In diesem Beispiel sind es Farbe, Hubraum und Automarke.
Es soll aber auch die Möglichkeit eines Abbrechens gegeben sein, wenn man seine vorhandenen Daten eingegeben hat und keine weiteren folgen sollen.
Das erreicht man hier mit einer If-Bedingung.
Solange kein Return Befehl nach der Aufforderung, die Farbe einzugeben kommt, läuft die Eingabemaske immer weiter. Kommt ein Return, so wird abgebrochen und die nun neu vorhandenen Daten weiter verarbeitet.
Hier das Beispiel in der Datei:
Abbildung in dieser Leseprobe nicht enthalten
Somit ist gewährleistet, dass beliebig viele Fahrzeuge in die Datenbank aufgenommen werden können. Nachdem die Eingabe fertig ist, werden die vorhandenen Daten noch einmal angezeigt.
Die Datei ist nun insofern verändert worden, als dass die Serialisierung hinzugefügt wurde. Diese ist wichtig, um später die Daten, welche erfasst wurden auch in eine Datei schreiben zu können.
Aus http://www.galileocomputing.de/openbook/java2/kap_12.htm#t27
„Serializable bietet automatisches Übertragen aller erreichbaren Objekte inklusive der Klassen-Felder eines Objekts“
„Beginnend mit sehr einfachen Anpassungen wie transient deklarierten Feldern kann die Serialisierung durch eigene Funktionalität ergänzt oder ersetzt werden“
Hier nun das Beispiel aus dem Programm:
Abbildung in dieser Leseprobe nicht enthalten
Hiermit wird nun also das Verarbeiten dieser Daten ermöglicht, die soeben eingegeben wurden. Weitere Aufgaben kommen dieser Datei in dem Beispiel nicht zu.
Die Datei AutoTest.java
Als erstes wird nun geschaut, ob eine Datei names auto.dat vorhanden ist und etwaige Daten enthält. Aus diesen Daten wird ein Vektor erzeugt und dann die Datei wieder geschlossen.
Hier das Beispiel aus dem Programm:
Abbildung in dieser Leseprobe nicht enthalten
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.