Praktikum 2: Ein- und Ausgabe

Benutzeravatar
Chase
Windoof-User
Windoof-User
Beiträge: 40
Registriert: 5. Apr 2008 11:14

Praktikum 2: Ein- und Ausgabe

Beitrag von Chase »

Ich hab mal das 2. Praktikum ueberflogen und mir ist nicht ganz klar mit welchen Eingabedaten wir rechnen muessen.
1. Koennten die Eingabedaten vollkommen fehlerhaft oder unvollstaendig sein ? Wenn ja, wie soll das behandelt werden?
2. Muessen wir nur mit Ganzzahlen rechnen, oder gibt es z.B. Wartezeiten von 0.5 Minuten?
3. Wie werden Leerzeichen behandelt? Ist sowas zulaessig:

Code: Alles auswählen

digraph {
Frankfurt am Main -> Darmstadt    [label  = "30,120"]
Darmstadt    ->Koblenz [label="50,110"]
}
Zur Ausgabe:
4. Wenn wir eine Liste an Strings zurueckgeben, soll dann das erste Element "Digraph {" enthalten und das letzte "}" damit daraus wieder ein funktionsfaehiges .dot-file entsteht, oder sollen es tatsaechlich nur die Ecken und Kanten sein ?

Benutzeravatar
Panulli
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 110
Registriert: 20. Apr 2005 07:20

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Panulli »

zur 4: laut Aufgabenstellung "Die Rückgabe soll direkt als dot Code interpretierbar sein."
Grüßlich ULI

http://www.SGE4ever.de

tmx-master
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 253
Registriert: 25. Okt 2006 17:44

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von tmx-master »

Hi,

es gibt zu den Eingaben wie "Frankfurt am Main" schon einen Thread: http://www.fachschaft.informatik.tu-dar ... 67&t=12187

Damit würde Frankfurt am Main als ID nicht gehen. Das ist ja auch eher der Name des Knoten.

Auch zur Wartezeit gibt es schon einen Thread.

Eine Bitte:
Stellt bitte nicht redundante Fragen ein und stellt Fragen nicht zu offen (mit zuvielen Teilfragen). Dann ist nichts mehr strukturiert und gezielt zu finden.
Gruß TM

Telefonjoker
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 161
Registriert: 19. Apr 2008 21:02

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Telefonjoker »

hallo,
mir ist nicht ganz klar wie ich auf die benötigten Daten zugreifen kann.
Kann mir da jmd helfen?
Ich hab schon die Methode writeGraphToFile(...) gesehen, werde daraus aber nicht schlau.
doch n bißl heftig für'n Ersti...

Osterlaus
BSc Spammer
BSc Spammer
Beiträge: 1263
Registriert: 23. Aug 2007 12:46
Wohnort: DA

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Osterlaus »

Im Konstruktor von Navigation bekommst du den Dateinamen, die Daten musst du dann per FileReader einlesen. Kleiner Tipp: Mit einem BufferedReader geht das Einlesen einfacher ;)

Mspringer
Nerd
Nerd
Beiträge: 555
Registriert: 19. Okt 2006 14:41
Wohnort: Darmstadt / Alzenau
Kontaktdaten:

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Mspringer »

Du hättest auch ins Prak1 kucken können. In LibraryFileReader wird dort auch ne Datei eingelesen. Im Endeffekt spricht nichts gegen deren Variante.

SebFreutel
Computerversteher
Computerversteher
Beiträge: 317
Registriert: 30. Okt 2006 21:54

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von SebFreutel »

Bzgl. Datei-Einlesen hilfts evtl., sich mal den mitgelieferten Code aus dem 1. Praktikum genauer anzuschaun und wo es geht daran zu orientieren. Könnt ich mir vorstellen...

/edit: sag ich ja :)

Telefonjoker
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 161
Registriert: 19. Apr 2008 21:02

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Telefonjoker »

findShortestRoute(String A, String B) ...und..
findShortestDistance(String A, String B) ...unterscheiden sich ja nur in der Ausgabe.
Aber bei findShortestDistance(String A, String B) steht noch extra, dass es mit dem Dijska-Alg. gemacht werden soll.

Ist findShortestRoute(String A, String B) nicht mit Dijska möglich?
Dürfen wir Dijska hier benutzen?
Ist Dijska hier unvorteilhaft?
Zuletzt geändert von Telefonjoker am 6. Mai 2008 19:15, insgesamt 1-mal geändert.

Osterlaus
BSc Spammer
BSc Spammer
Beiträge: 1263
Registriert: 23. Aug 2007 12:46
Wohnort: DA

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Osterlaus »

Ich würde dir raten, sowohl das Javadoc als auch die Aufgabenstellung zu lesen, daraus werden alle Fragen beantwortet.

Telefonjoker
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 161
Registriert: 19. Apr 2008 21:02

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Telefonjoker »

ok, die erste Frage war ein bißchen doof... :oops:
muss ich gleich mal editieren, damit's keiner sieht :mrgreen:

Trotzdem, was wird mir übergebe? Jeweils eine komplette Zeile (Konten oder Kante), oder?

Und was ist mit Dijska?
Sollen oder dürfen wir den überall benutzen?
Ist das sinnvoll?

Mspringer
Nerd
Nerd
Beiträge: 555
Registriert: 19. Okt 2006 14:41
Wohnort: Darmstadt / Alzenau
Kontaktdaten:

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Mspringer »

Steht doch in der Dokumentation über den Funktionen. A ist der Startknoten, B ist der Zielknoten. Und ja du sollst Dijkstra verwenden, steht so auch in der Aufgabenstellung.

Telefonjoker
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 161
Registriert: 19. Apr 2008 21:02

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Telefonjoker »

wie habt ihr eigentlich auf die txt.Dateien zugegriffen?

Also, habt ihr einen Pfad auf eurer Festplatte angegeben, oder habt ihr die Testfiles ins .jar Projekt aufgenommen und dann über getResourceAsStream drauf zugegriffen?

ich hab bei eclipse jetzt einfach auf importieren gedrückt, aber weiß nicht wie ich drauf zugreifen kann...außer den oben genannten Wegen.

Benutzeravatar
bearmann
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 121
Registriert: 20. Okt 2006 13:53
Wohnort: Darmstadt
Kontaktdaten:

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von bearmann »

Sers,
hätte nochmal ne Frage:
Würde gerne schon beim Einlesen der Daten abfangen, ob ein negativer Kantenwert kommt - und einen Error/Exception werfen... wäre das OK, oder ist das fürs spätere Testen gefährlich?!

EDIT:
Telefonjoker hat geschrieben:wie habt ihr eigentlich auf die txt.Dateien zugegriffen?

Also, habt ihr einen Pfad auf eurer Festplatte angegeben, oder habt ihr die Testfiles ins .jar Projekt aufgenommen und dann über getResourceAsStream drauf zugegriffen?

ich hab bei eclipse jetzt einfach auf importieren gedrückt, aber weiß nicht wie ich drauf zugreifen kann...außer den oben genannten Wegen.
Vom System her musst du bei Java eine File mit einem InputStream verknüpfen. Also File > FileReader > BufferedReader... schau dir dazu mal die Java Doc an.
Mit dem FileReader und dem BufferedReader kannst du aus der txt dann Zeilenweise einlesen.
Pfad o.ä. musst du überhaupt nicht angeben, wenn es im selben Verzeichnis wie die Class liegt. Der Navigation-Konstruktor erwartet dann einfach den Namen der txt als String.

Hoffe, das hat etwas geholfen.

Grüße,
bearmann
Zuletzt geändert von bearmann am 11. Mai 2008 18:34, insgesamt 1-mal geändert.

Osterlaus
BSc Spammer
BSc Spammer
Beiträge: 1263
Registriert: 23. Aug 2007 12:46
Wohnort: DA

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von Osterlaus »

Telefonjoker hat geschrieben:wie habt ihr eigentlich auf die txt.Dateien zugegriffen?

Also, habt ihr einen Pfad auf eurer Festplatte angegeben, oder habt ihr die Testfiles ins .jar Projekt aufgenommen und dann über getResourceAsStream drauf zugegriffen?

ich hab bei eclipse jetzt einfach auf importieren gedrückt, aber weiß nicht wie ich drauf zugreifen kann...außer den oben genannten Wegen.
Warum willst du auf die Dateien zugreifen? In der Navigation.java wird nirgends ein Zugriff auf die Dateien benötigt.
bearmann hat geschrieben:Würde gerne schon beim Einlesen der Daten abfangen, ob ein negativer Kantenwert kommt - und einen Error/Exception werfen... wäre das OK, oder ist das fürs spätere Testen gefährlich?!
Exceptions verändern unter Umständen die Signatur einer Funktion, und dann laufen die JUnit-Tests nicht mehr. Das wäre fürs Testat recht unglücklich ;) Einen Ausweg habe ich hier beschrieben.

Benutzeravatar
bearmann
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 121
Registriert: 20. Okt 2006 13:53
Wohnort: Darmstadt
Kontaktdaten:

Re: Praktikum 2: Ein- und Ausgabe

Beitrag von bearmann »

Osterlaus hat geschrieben:Warum willst du auf die Dateien zugreifen? In der Navigation.java wird nirgends ein Zugriff auf die Dateien benötigt.
Ähhh... moment. Im Konstruktor von Navigation.java müssen wir uns aber schon unsern eigenen FileReader basteln, ne?!
Oder meintest du 'was anderes?!

Grüße .... und danke für den Hinweis samt Link! :)
bearmann

Antworten

Zurück zu „Archiv“