Guten Tag zusammen,
nachdem ich so langsam verzweifel hoffe ich das mir hier geholfen werden kann.
Ich habe folgende Aufgabenstellung (unten nachzulesen) und komme nicht weiter, weil ich leider keinen
Plan habe was genau toString sein soll. Ich habe schon alle Unterlagen von den Vorlesungen durchgesucht aber nichts dazu gefunden.
Für die Klasse RandomCell habe ich bis jetzt folgendes geschrieben:
getter und setter Methoden sind ja forhanden und auch die zahl zu berechnen war jetzt nicht wirklich die schwierigkeit nur wie gesagt habe ich keine Ahnung wie ich weitermachen soll.
EDIT:// Da ich gerade gesehen habe das das Thema verschoben worden ist, wollte ich nur noch kurz sagen das ich hier natürlich keine fertige Lösung erwarte, sondern Hilfe dabei dieses Problem mit dem toString zu verstehen wäre sehr nett.
nachdem ich so langsam verzweifel hoffe ich das mir hier geholfen werden kann.
Ich habe folgende Aufgabenstellung (unten nachzulesen) und komme nicht weiter, weil ich leider keinen
Plan habe was genau toString sein soll. Ich habe schon alle Unterlagen von den Vorlesungen durchgesucht aber nichts dazu gefunden.
Aufgabenstellung Teil II
Schreiben Sie ein Programm, welches ein Feld mit drei Zeilen und drei Spalten erzeugt und ausgibt;
jede Zelle enthält eine Ziffer zwischen 1 und 9, wobei jede Ziffer nur genau einmal vorkommt.
Ein Beispiel für ein gültiges Feld wäre:
[1][4][6]
[3][9][8]
[7][2][5]
Erstellen Sie zur Bearbeitung dieser Aufgabe die folgenden Klassen:
RandomCell
Diese Klasse stellt eine Zelle dar, welche einen Wert zwischen 1 und 9 besitzt. Diese Information wird
in einer Variable vom Typ int gespeichert (Bezeichner = value). Schreiben Sie get- und set-Methoden
und Überschreiben Sie die Methode toString, die die Nummer in eckigen Klammern zurückgeben soll.
RandomGrid:
Diese Klasse stellt ein Feld dar. Das Feld ist ein zwei-dimensionales Array mit 3 Zeilen und 3 Spalten
vom Typ RandomCell (Bezeichner = array). Das Feld wird in der Methode init() erzeugt während die
Methode refresh() das Feld zufällig mit Werten füllt; jede Ziffer zwischen 1 und 9 kommt genau ein-
mal vor. Hinzu kommt eine Methode clear(), welche alle Zellen auf 0 setzt. Zudem kann das Feld mit
der Methode show() angezeigt werden und mit der Methode magic() kann überprüft werden, ob es
sich bei dem erzeugten Feld um ein so genanntes magisches Quadrat handelt. Sowohl Zeilen- und
Spaltensummen als auch die Summe der diagonalen Elemente ergeben darin 15. Hier ein Beispiel für
ein solches Quadrat:
[6][1][5]
[3][9][8]
[7][2][5]
Für die Erzeugung des Feldes empfiehlt sich die folgende Vorgehensweise: ArrayList mit den Werten
von 1 bis 9 füllen; jeden Wert einer zufälligen Position im Array zuweisen bzw. ein Objekt der Klasse
RandomCell mit diesem Wert erstellen; Vorgang ggfs. wiederholen, wenn diese Position schon mit
einem Wert belegt ist.
RandomTest:
In der main-Methode soll zunächst ein Objekt der Klasse RandomGrid erzeugt werden. Sodann soll
die refresh-Methode 100.000-mal aufgerufen werden, wobei nach jedem Aufruf mit der magic-
Methode überprüft werden soll, ob ein magisches Quadrat erstellt wurde; in diesem Fall soll eine
Ausgabe mit der show-Methode erzeugt werden.
Für die Klasse RandomCell habe ich bis jetzt folgendes geschrieben:
Java:
package Aufgabe2;
public class RandomCell
{
int value =(int) (Math.random()*10);
public int getValue()
{
return value;
}
void setValue(int value)
{
this.value = value;
}
}
getter und setter Methoden sind ja forhanden und auch die zahl zu berechnen war jetzt nicht wirklich die schwierigkeit nur wie gesagt habe ich keine Ahnung wie ich weitermachen soll.
EDIT:// Da ich gerade gesehen habe das das Thema verschoben worden ist, wollte ich nur noch kurz sagen das ich hier natürlich keine fertige Lösung erwarte, sondern Hilfe dabei dieses Problem mit dem toString zu verstehen wäre sehr nett.
Zuletzt bearbeitet: