Generierte Dokumentation der praktischen Arbeit von Simon Tiffert

Hauptseite | Pakete | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente

# main.verarbeitung.Matrix Klassenreferenz

Zusammengehörigkeiten von main.verarbeitung.Matrix:

[Legende]
Aufstellung aller Elemente

## Ausführliche Beschreibung

Klasse, die die Verwaltung der Matrix übernimmt.

Dabei befindet sich die Matrix selber als zentrales Element in dieser Klasse.
Alle Operationen, die die Matrix verändern, werden durch setter zur Verfügung gestellt, die direkt Konsistenzprüfungen durchführen.
Alle Operationen, die Daten aus der Matrix abfragen sind über getter definiert, die die Daten aufbereitet zur Verfügung stellen.
Zudem gibt es noch Prüfungen, die auch direkt in dieser Klasse definiert sind und boolesche Ergebnisse zurückliefern. Die Schnittstellen dieser Klasse sind möglichst vielfältig, um alle nötigen Eingaben zu ermöglichen. Um die Algorithmen klein zu halten, wurde hier ein Großteil der Funktionalität für die Matrix implementiert.

Version:
  Revision
    1.15

Autor:
  Simon Tiffert

Definiert in Zeile 40 der Datei Matrix.java.

## Öffentliche Methoden
int | getFeldAnzahl ()
| Diese Funktion gibt zurück, wieviele Felder besuchbar sind.
Punkt | getStartpunkt ()
| Diese Funktion gibt den Startpunkt als Punkt zurück.
int | getWert (int y, int x)
| Diese Funktion gibt einen Wert in der Matrix zurück.
int | getXDimension ()
| Diese Funktion gibt die X-Dimension der Matrix zurück.
int | getYDimension ()
| Diese Funktion gibt die Y-Dimension der Matrix zurück.
boolean | isInitialisiert ()
| Funktion, die angibt, ob die Matrix schon initialisiert ist.
boolean | isInMatrix (int y, int x)
| Funktion, die überprüft, ob ein Wert innerhalb der Matrix liegt.
boolean | isSperrfeld (int y, int x)
| Funktion, die überprüft, ob das übergebene Feld ein Sperrfeld ist.
boolean | isStartpunkt (int y, int x)
| Die Funktion überprüft, ob das übergebene Feld der Startpunkt ist.
boolean | isWegGefunden ()
| Funktion, die angibt, ob ein Weg gefunden wurde.
void | setMatrix (int m, int n) throws WrongDimensionException
| Diese Funktion erstellt die Matrix mit den übergebenen Dimensionen.
void | setSperrfeld (int y, int x) throws OutOfMatrixException, IsSperrfeldException, IsStartpunktException
| Diese Funktion setzt ein Sperrfeld in der Matrix.
void | setStartpunkt (int y, int x) throws OutOfMatrixException, ReDefinedStartpunktException
| Diese Funktion speichert den Startpunkt für die Sprungfolge.
## Geschützte Methoden
void | setWegGefunden ()
| Funktion, die den Weg als gefunden markiert.
void | setWert (int y, int x, int wert)
| Diese Funktion setzt den Wert der Matrix an einer Stelle.
## Private Attribute
boolean | isInitialisiert = false
| Variable die anzeigt, ob die Matrix initialisiert wurde.
int[][] | matrix
| zweidimensionales Feld als zentrales Element
int | sperrFeldAnzahl = 0
| Anzahl der Sprungfelder.
Punkt | startpunkt = null
| Startpunkt der Sprungfolge.
boolean | wegGefunden = false
| Weg gefunden?

## Dokumentation der Elementfunktionen

int main.verarbeitung.Matrix.getFeldAnzahl | ( |  | ) |

| Diese Funktion gibt zurück, wieviele Felder besuchbar sind. Dabei wird von der Anzahl der Felder die Anzahl der Sperrfelder abgezogen Rückgabe: Feldanzahl (ohne Sperrfelder) Definiert in Zeile 65 der Datei Matrix.java. Benutzt main.verarbeitung.Matrix.getXDimension(), main.verarbeitung.Matrix.getYDimension() und main.verarbeitung.Matrix.sperrFeldAnzahl. Wird benutzt von main.verarbeitung.Verarbeitung.roesselSprung().
    00066   {
    00067     return getXDimension() * getYDimension() - sperrFeldAnzahl;
    00068   }

Hier ist der Graph aller Aufrufe für diese Funktion:

Punkt main.verarbeitung.Matrix.getStartpunkt | ( |  | ) |

| Diese Funktion gibt den Startpunkt als Punkt zurück. Rückgabe: Startpunkt Definiert in Zeile 75 der Datei Matrix.java. Benutzt main.verarbeitung.Matrix.startpunkt. Wird benutzt von main.verarbeitung.Verarbeitung.Verarbeitung().
    00076   {
    00077     return startpunkt;
    00078   }

int main.verarbeitung.Matrix.getWert | ( | int | y,
|  | int | x
| ) |

  | Diese Funktion gibt einen Wert in der Matrix zurück. Parameter:
  y | y-Koordinate des Punktes
  x | x-Koordinate des Punktes
Rückgabe: den Wert der Matrix an der Stelle Definiert in Zeile 87 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Verarbeitung.roesselSprung().
    00088   {
    00089     return matrix[y][x];
    00090   }

int main.verarbeitung.Matrix.getXDimension | ( |  | ) |

| Diese Funktion gibt die X-Dimension der Matrix zurück. Rückgabe: X-Dimension der Matrix Definiert in Zeile 97 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Matrix.getFeldAnzahl().
    00098   {
    00099     return matrix[0].length;
    00100   }

int main.verarbeitung.Matrix.getYDimension | ( |  | ) |

| Diese Funktion gibt die Y-Dimension der Matrix zurück. Rückgabe: Y-Dimension der Matrix Definiert in Zeile 107 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Matrix.getFeldAnzahl().
    00108   {
    00109     return matrix.length;
    00110   }

boolean main.verarbeitung.Matrix.isInitialisiert | ( |  | ) |

| Funktion, die angibt, ob die Matrix schon initialisiert ist. Rückgabe: false: nicht initialisiert, true initialisiert Definiert in Zeile 117 der Datei Matrix.java.
    00118   {
    00119     return isInitialisiert;
    00120   }

boolean main.verarbeitung.Matrix.isInMatrix | ( | int | y,
|  | int | x
| ) |

  | Funktion, die überprüft, ob ein Wert innerhalb der Matrix liegt. Dabei werden folgende Möglichkeiten überprüft: y-Koordinate kleiner als 0 x-Koordinate kleiner als 0 y-Koordinate größer als y-Dimension der Matrix x-Koordinate größer als x-Dimension der Matrix Ist keiner dieser Fälle eingetreten, so befindet sich der Punkt in der Matrix Parameter:
  y | y-Koordinate des Punktes
  x | x-Koordinate des Punktes
Rückgabe: Ob der Punkt innerhalb der Matrix liegt Definiert in Zeile 139 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Verarbeitung.roesselSprung().
    00140   {
    00141     // wenn die y-Koordinate kleiner als 0 ist
    00142     if (y < 0)
    00143     {
    00144       return false;
    00145     }
    00146
    00147     // wenn die x-Koordinate kleiner als 0 ist
    00148     if (x < 0)
    00149     {
    00150       return false;
    00151     }
    00152
    00153     // wenn die y-Koordinate größer als die Y-Dimension der Matrix ist
    00154     if (y >= this.getYDimension())
    00155     {
    00156       return false;
    00157     }
    00158
    00159     // wenn die x-Koordinate größer als die X-Dimension der Matrix ist
    00160     if (x >= this.getXDimension())
    00161     {
    00162       return false;
    00163     }
    00164
    00165     // Punkt ist in Matrix
    00166     return true;
    00167   }

boolean main.verarbeitung.Matrix.isSperrfeld | ( | int | y,
|  | int | x
| ) |

  | Funktion, die überprüft, ob das übergebene Feld ein Sperrfeld ist. Dabei wird einfach überprüft, ob der Wert in der Matrix kleiner als 0 ist. Parameter:
  y | y-Koordinate des Punktes
  x | x-Koordinate des Punktes
Rückgabe: Ob der Punkt schon ein Sperrfeld ist Definiert in Zeile 178 der Datei Matrix.java.
    00179   {
    00180     // ist der Punkt ein Sperrfeld, gib falsch zurück
    00181     if (this.getWert(y, x) < 0)
    00182     {
    00183       return true;
    00184     }
    00185
    00186     // Punkt ist kein Sperrfeld
    00187     return false;
    00188   }

boolean main.verarbeitung.Matrix.isStartpunkt | ( | int | y,
|  | int | x
| ) |

  | Die Funktion überprüft, ob das übergebene Feld der Startpunkt ist. Geprüft wird, ob der übergebene Punkt mit dem gespeicherten Startpunkt übereinstimmt Parameter:
  y | y-Koordinate des Punktes
  x | x-Koordinate des Punktes
Rückgabe: Ob der Punkt der Startpunkt ist Definiert in Zeile 199 der Datei Matrix.java.
    00200   {
    00201     // ist der Punkt der Startpunkt, gib wahr zurück
    00202     if (y == this.startpunkt.getY() && x == this.startpunkt.getX())
    00203     {
    00204       return true;
    00205     }
    00206
    00207     // Punkt ist nicht der Startpunkt
    00208     return false;
    00209   }

boolean main.verarbeitung.Matrix.isWegGefunden | ( |  | ) |

| Funktion, die angibt, ob ein Weg gefunden wurde. Rückgabe: `false`: kein Weg, `true`: Weg gefunden Definiert in Zeile 217 der Datei Matrix.java. Benutzt main.verarbeitung.Matrix.wegGefunden.
    00218   {
    00219     return wegGefunden;
    00220   }

void main.verarbeitung.Matrix.setMatrix | ( | int | m,
|  | int | n
| ) | throws WrongDimensionException

  | Diese Funktion erstellt die Matrix mit den übergebenen Dimensionen. Dabei wird direkt die Konsistenzprüfung durchgeführt, ob die angegebenen Dimensionen übereinstimmen. Prüfungen sind hier: angegebene Dimension kleiner als 0 angegebene Dimension größer als maximale Dimension Liegen die angebenen Dimensionen innerhalb dieser Rahmen, so wird die Matrix mit den Dimensionsangaben angelegt. Parameter:
  m | y-Dimension der Matrix
  n | x-Dimension der Matrix
  Ausnahmebehandlung:
  WrongDimensionException | Falsche Dimensionsangabe
Definiert in Zeile 240 der Datei Matrix.java.
    00241   {
    00242     if (m <= 0
    00243       || n <= 0
    00244       || m > Main.maxDimension
    00245       || n > Main.maxDimension)
    00246     {
    00247       throw new WrongDimensionException();
    00248     }
    00249
    00250     matrix = new int[m][n];
    00251   }

void main.verarbeitung.Matrix.setSperrfeld | ( | int | y,
|  | int | x
| ) | throws OutOfMatrixException, IsSperrfeldException, IsStartpunktException

  | Diese Funktion setzt ein Sperrfeld in der Matrix. Dabei werden auch die Konsistenzprüfungen durchgeführt. Geprüft wird: ob das Sperrfeld überhaupt innerhalb der Matrix liegt ob das Sperrfeld schon eingetragen wurde ob das Sperrfeld auf dem Startpunkt liegt Wenn diese Prüfungen erfüllt sind, so wird das Sperrfeld als negativer Punkt (-1) in der Matrix eingetragen. Parameter:
  y | y-Koordinate des Sperrfeldes
  x | x-Koordinate des Sperrfeldes
  Ausnahmebehandlung:
  OutOfMatrixException | Sperrfeld außerhalb der Matrix
  IsSperrfeldException | Sperrfeld schon vorhanden
  IsStartpunktException | Sperrfeld auf Startpunkt
Definiert in Zeile 271 der Datei Matrix.java. Benutzt main.verarbeitung.Matrix.sperrFeldAnzahl.
    00276   {
    00277     // wenn das Sperrfeld nicht in der Matrix liegt
    00278     if (!this.isInMatrix(y, x))
    00279     {
    00280       // werfe die Exception
    00281       throw new OutOfMatrixException(
    00282         "Sperrfeld X(" + (y + 1) + "," + (x + 1) + ")");
    00283     }
    00284
    00285     // wenn das Sperrfeld schon besetzt ist
    00286     if (this.isSperrfeld(y, x))
    00287     {
    00288       // werfe die Exception
    00289       throw new IsSperrfeldException(
    00290         "(" + (y + 1) + "," + (x + 1) + ")");
    00291     }
    00292
    00293     // wenn das Sperrfeld der Startpunkt ist
    00294     if (this.isStartpunkt(y, x))
    00295     {
    00296       // werfe die Exception
    00297       throw new IsStartpunktException(
    00298         "(" + (y + 1) + "," + (x + 1) + ")");
    00299     }
    00300
    00301     // erhöhe die Sperrfeldanzahl
    00302     sperrFeldAnzahl++;
    00303
    00304     // setze den Wert als negative Zahl (-1)
    00305     this.setWert(y, x, -1);
    00306   }

void main.verarbeitung.Matrix.setStartpunkt | ( | int | y,
|  | int | x
| ) | throws OutOfMatrixException, ReDefinedStartpunktException

  | Diese Funktion speichert den Startpunkt für die Sprungfolge. Dabei wird direkt überprüft, ob der Wert innerhalb der Matrix liegt. Ansonsten wird eine Exception geworfen Parameter:
  y | y-Koordinate des Startpunktes
  x | x-Koordinate des Startpunktes
  Ausnahmebehandlung:
  OutOfMatrixException | Startpunkt außerhalb der Matrix
  ReDefinedStartpunktException | Mehrfacher Startpunkt
Definiert in Zeile 318 der Datei Matrix.java. Benutzt main.verarbeitung.Matrix.startpunkt.
    00320   {
    00321     // Wenn ein Startpunkt außerhalb der Matrix definiert wird
    00322     if (!this.isInMatrix(y, x))
    00323     {
    00324       // werfe Exception
    00325       throw new OutOfMatrixException(
    00326         "Startpunkt S(" + (y + 1) + "," + (x + 1) + ")");
    00327     }
    00328
    00329     // Wenn ein Startpunkt nochmal definiert wird, was bei der
    00330     // Verwendung als Unterprogramm passieren kann
    00331     if (startpunkt != null)
    00332     {
    00333       // werde Exception
    00334       throw new ReDefinedStartpunktException();
    00335     }
    00336
    00337     //  setze die Matrix auf den Zustand initialisiert
    00338     isInitialisiert = true;
    00339
    00340     // Der Startpunkt wird erstellt und gespeichert
    00341     startpunkt = new Punkt(y, x);
    00342   }

void main.verarbeitung.Matrix.setWegGefunden | ( |  | ) | `[protected]`

| Funktion, die den Weg als gefunden markiert. Definiert in Zeile 347 der Datei Matrix.java. Benutzt main.verarbeitung.Matrix.wegGefunden. Wird benutzt von main.verarbeitung.Verarbeitung.Verarbeitung().
    00348   {
    00349     wegGefunden = true;
    00350   }

void main.verarbeitung.Matrix.setWert | ( | int | y,
|  | int | x,
|  | int | wert
| ) | `[protected]`

  | Diese Funktion setzt den Wert der Matrix an einer Stelle. Parameter:
  y | y-Koordinate des Punktes
  x | x-Koordinate des Punktes
  wert | Wert auf den der Punkt gesetzt werden soll
Definiert in Zeile 359 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Verarbeitung.roesselSprung().
    00360   {
    00361     matrix[y][x] = wert;
    00362   }

## Dokumentation der Datenelemente

boolean main.verarbeitung.Matrix.isInitialisiert = false`[private]`

| Variable die anzeigt, ob die Matrix initialisiert wurde. Definiert in Zeile 44 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Verarbeitung.Verarbeitung().

int [][] main.verarbeitung.Matrix.matrix`[private]`

| zweidimensionales Feld als zentrales Element Definiert in Zeile 47 der Datei Matrix.java.

int main.verarbeitung.Matrix.sperrFeldAnzahl = 0`[private]`

| Anzahl der Sprungfelder. Definiert in Zeile 50 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Matrix.getFeldAnzahl() und main.verarbeitung.Matrix.setSperrfeld().

Punkt main.verarbeitung.Matrix.startpunkt = null`[private]`

| Startpunkt der Sprungfolge. Definiert in Zeile 53 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Matrix.getStartpunkt() und main.verarbeitung.Matrix.setStartpunkt().

boolean main.verarbeitung.Matrix.wegGefunden = false`[private]`

| Weg gefunden? Definiert in Zeile 56 der Datei Matrix.java. Wird benutzt von main.verarbeitung.Matrix.isWegGefunden() und main.verarbeitung.Matrix.setWegGefunden().

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

- Matrix.java

Documentation created with Doxygen 1.3.6 | Fri May 14 11:15:53 2004