| Generierte Dokumentation der praktischen Arbeit von Simon Tiffert |

Dabei wird sowohl die initiale Matrix, sowie die Matrix mit dem gesuchten Wert ausgegeben.
Definiert in Zeile 35 der Datei Ausgabe.java.
Öffentliche Methoden | |
| Ausgabe (Matrix matrix, BufferedWriter bw) throws IOException | |
| Konstruktor, der die Ausgabe erzeugt. | |
Private Methoden | |
| void | keinWegGefundenAusgabe (BufferedWriter bw) throws IOException |
| Funktion, die ausgibt, dass keine Sprungfolge gefunden wurde. | |
| void | ausgabe (BufferedWriter bw, boolean zustand) throws IOException |
| Diese Funktion gibt die Matrix grafisch auf dem angegebenen Ausgabestrom aus. | |
Private Attribute | |
| Matrix | matrix |
| Die zentrale Datenstruktur mit der Matrix. | |
|
||||||||||||
|
Konstruktor, der die Ausgabe erzeugt. Übergeben werden die Matrix und der BufferedWriter der Ausgabedatei. Erzeugt wird dann einmal die Eingabe in Matrixansicht, sowie die durch Verarbeitung gewonnene Matrix mit Wegdaten.
Definiert in Zeile 52 der Datei Ausgabe.java. Benutzt main.ausgabe.Ausgabe.matrix.
00053 {
00054 // setze das Attribut matrix
00055 this.matrix = matrix;
00056
00057 // Matrix im Anfangszustand ausgeben; Zustand 'false'
00058 this.ausgabe(bw, false);
00059
00060 // wenn ein Weg gefunden wurde, dann wird die Matrix im Endzustand
00061 // ausgegeben; Zustand 'true'
00062 if (matrix.isWegGefunden())
00063 {
00064 this.ausgabe(bw, true);
00065 }
00066 // ansonsten erfolgt die Ausgabe, dass kein Weg gefunden wurde
00067 else
00068 {
00069 this.keinWegGefundenAusgabe(bw);
00070 }
00071 }
|
|
||||||||||||
|
Diese Funktion gibt die Matrix grafisch auf dem angegebenen Ausgabestrom aus. Dabei gibt es zwei Zustände, einmal den Anfangszustand der Matrix, der aus den Eingabedaten erzeugt wird, sowie den Endzustand, der einen gefundenen Weg ausgibt.
Definiert in Zeile 107 der Datei Ausgabe.java. Benutzt main.ausgabe.Ausgabe.matrix.
00109 {
00110 // Hier wird die Ausgabe zusammengebaut
00111 StringBuffer ausgabeString = new StringBuffer();
00112
00113 // Zeilenumbruch nach Betriebssystem anpassen
00114 String lineEnd = System.getProperty("line.separator");
00115
00116 // Falls dies scheitert, setze Standard Zeilenumbruch
00117 if (lineEnd == null)
00118 {
00119 lineEnd = "\n";
00120 }
00121
00122 // Tabulator
00123 String tabulator = " ";
00124
00125 // Matrixdimensionen lesen
00126 int y = matrix.getYDimension();
00127 int x = matrix.getXDimension();
00128
00129 // Trennzeichen für formatierte Ausgabe ermitteln
00130 String trennzeichen = "+";
00131
00132 for( int i=0; i<x; i++ )
00133 {
00134 trennzeichen+=" -- +";
00135 }
00136
00137 // Gib noch einen Header nach Zustand aus
00138 if (zustand)
00139 {
00140 ausgabeString.append(
00141 lineEnd + lineEnd + tabulator + "Ausgabedatei: " + lineEnd);
00142 ausgabeString.append(tabulator + "*************" + lineEnd);
00143 }
00144 else
00145 {
00146 ausgabeString.append(
00147 lineEnd + tabulator + "Eingabedaten: " + lineEnd);
00148 ausgabeString.append(tabulator + "*************" + lineEnd);
00149 }
00150
00151 // Ausgabe in einer zweifach-geschachtelten for-Schleife
00152 // y-Werte durchlaufen
00153 for (int i = 0; i < y; i++)
00154 {
00155 // erste Zeile der Matrix ausgeben
00156 ausgabeString.append(lineEnd + tabulator);
00157 ausgabeString.append(trennzeichen);
00158 ausgabeString.append(lineEnd + tabulator);
00159
00160 // x-Werte durchlaufen
00161 for (int j = 0; j < x; j++)
00162 {
00163 // Zeichen an aktueller Matrixposition lesen
00164 // und entsprechend formatieren
00165 String zeichen = " ";
00166 int wert = matrix.getWert(i, j);
00167
00168 switch (wert)
00169 {
00170 // Gesperrte Felder
00171 case -1 :
00172 zeichen = "X";
00173 break;
00174 // Leere Felder
00175 case 0 :
00176 zeichen = matrix.isStartpunkt(i,j) ? "1" : " ";
00177 break;
00178 // Startpunkt
00179 case 1 :
00180 zeichen = "1";
00181 break;
00182 // Nummern der Sprungfolge
00183 default :
00184 if (zustand)
00185 zeichen = "" + wert;
00186 else
00187 zeichen = " ";
00188 }
00189
00190 // Zeichen ausgeben
00191 ausgabeString.append(
00192 "| " + (zeichen.length() < 2 ? " " : "") + zeichen + " ");
00193 }
00194 ausgabeString.append("|");
00195 }
00196 // letzte Formatierungszeile ausgeben
00197 ausgabeString.append(lineEnd + tabulator);
00198 ausgabeString.append(trennzeichen);
00199 ausgabeString.append(lineEnd);
00200
00201 // ist der Debugmodus gesetzt, dann gib die Fehlermeldung
00202 // zusätzlich auf dem Bildschirm aus
00203 if (Main.debug)
00204 {
00205 System.out.println(ausgabeString);
00206 }
00207
00208 // schreibe in die Ausgabedatei
00209 bw.write(ausgabeString.toString());
00210 }
|
|
|
Funktion, die ausgibt, dass keine Sprungfolge gefunden wurde.
Definiert in Zeile 79 der Datei Ausgabe.java.
00081 {
00082 String s = " Keine Sprungfolge gefunden - Aufgabe unlösbar";
00083
00084 // gib im Debugmodus die Information auch auf dem Bildschirm aus
00085 if (Main.debug)
00086 {
00087 System.out.println(s);
00088 }
00089
00090 // schreibe die Meldung in die Ausgabedatei
00091 bw.write(System.getProperty("line.separator"));
00092 bw.write(s);
00093 }
|
|
|
Die zentrale Datenstruktur mit der Matrix.
Definiert in Zeile 38 der Datei Ausgabe.java. Wird benutzt von main.ausgabe.Ausgabe.ausgabe() und main.ausgabe.Ausgabe.Ausgabe(). |
|
|
|
| Documentation created with Doxygen 1.3.6 | Fri May 14 11:15:36 2004 |