Guten Tag zusammen,
Ich hänge zur Zeit an einer Aufgabe fest und wollte nach 2 Stunden hier mal nach Hilfe suchen. Die Aufgabe lautet wie folgt:
Schreiben Sie drei verschiedene Konstruktoren:
Schreiben Sie zusätzlich die folgenden Methoden:
Schreiben Sie ebenfalls eine Ausgabemethode printArray(), die die Elemente des Arrays ausgibt, so wie es die Beispiele zeigen.
Und schreiben Sie außerdem eine Ausgabefunktion printArrayInfo(), die die Werte der Attribute ausgibt.
So soll es mal aussehen:
Mein bisheriger Ansatz sieht wie folgt aus:
Mein Ziel ist es erst mal das einfach 2x2 Array bestehend aus Einsen mithilfe der printArray Methode auszugeben. Als erstes würde mir auch eine Stelle reichen bevor ich es mit 2 Forschleifen für das ganze Array mache, jedoch spuckt er mir nur diese Fehlermeldung:
__tester__.java:57: error: method printArray in class ZweidimensionalesArray cannot be applied to given types;
array2D.printArray();;
^
required: int[][]
found: no arguments
reason: actual and formal argument lists differ in length
1 error
Schon mal vielen Dank
Ich hänge zur Zeit an einer Aufgabe fest und wollte nach 2 Stunden hier mal nach Hilfe suchen. Die Aufgabe lautet wie folgt:
Schreiben Sie drei verschiedene Konstruktoren:
- Einen Standardkonstruktor, der das Array mit der Größe 2 x 2 anlegt und die Elemente mit 1 initialisiert.
- Einen zweiten Konstruktor, der die Anzahl der Zeilen und Spalten erhält, das Array entsprechend anlegt und die Elemente des Arrays mit 1 initialisiert.
- Einen dritten Konstruktor, der die Anzahl der Zeilen und Spalten erhält, sowie einen Wert, mit dem alle Elemente des Arrays initialisiert werden. (Bitte beachten Sie genau diese Reihenfolge der Parameter bei der Übergabe.)
Schreiben Sie zusätzlich die folgenden Methoden:
- Eine Methode initArray(), die einen int-Wert erhält und alle Elemente des Arrays auf diesen Wert setzt. Diese Methode können Sie in Ihren Konstruktoren aufrufen um die Werte entsprechend zu initialisieren.
- Eine Methode, die alle Werte des Arrays mit einer Reihe aufsteigender Zahlen initialisiert, beginnend bei einem angegebenen Wert. So soll beispielsweise der Aufruf:
ZweidimensionalesArray.setzeAufsteigendeWerte(5);
ein Array (z.B. der Größe 3 x 5) mit den folgenden Werten belegen:
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
- Überladen Sie diese Methode so, dass das Array ohne Angabe eines Wertes mit einer aufsteigenden Reihe, bei 1 beginnend, gefüllt wird. Und dass bei Angabe eines zweiten Werts die Werte diesen Abstand einnehmen. Beispiel für ein Array der Größe 4 x 3:
ZweidimensionalesArray.setzeAufsteigendeWerte(7, 2);
7 9 11 13 15 17 19 21 23 25 27 29 |
Schreiben Sie ebenfalls eine Ausgabemethode printArray(), die die Elemente des Arrays ausgibt, so wie es die Beispiele zeigen.
Und schreiben Sie außerdem eine Ausgabefunktion printArrayInfo(), die die Werte der Attribute ausgibt.
So soll es mal aussehen:
Test | Resultat |
---|---|
ZweidimensionalesArray array2D = new ZweidimensionalesArray(); array2D.printArray(); | 1 1 1 1 |
ZweidimensionalesArray array2D = new ZweidimensionalesArray(); array2D.printArrayInfo(); | Anzahl Spalten: 2 Anzahl Zeilen: 2 Anzahl Elemente: 4 |
ZweidimensionalesArray array2D = new ZweidimensionalesArray(4, 5); array2D.printArray(); array2D.printArrayInfo(); | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Anzahl Spalten: 5 Anzahl Zeilen: 4 Anzahl Elemente: 20 |
ZweidimensionalesArray array2D = new ZweidimensionalesArray(3, 6, 8); array2D.printArray(); array2D.printArrayInfo(); | 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 Anzahl Spalten: 6 Anzahl Zeilen: 3 Anzahl Elemente: 18 |
Mein bisheriger Ansatz sieht wie folgt aus:
Java:
[/B]
public class ZweidimensionalesArray
{
// Die Attribute der Klasse
private int zeilen;
private int spalten;
private int wert;
// Standardkonstruktor (ohne Argumente)
public ZweidimensionalesArray()
{
int [] [] array2D = { {1, 1},{1, 1}};
}
// zweiter Konstruktor (int zeilen, int spalten)
public ZweidimensionalesArray(int zeilen, int spalten)
{
int [] [] array2D = new int [zeilen] [spalten];
}
// dritter Konstruktor (int zeilen, int spalten, int wert)
public ZweidimensionalesArray(int zeilen, int spalten, int wert)
{
int [] [] array2D = new int [zeilen] [spalten];
}
// Methode initArray(int wert)
public static void initArray(int wert)
{
}
// Methode setzeAufsteigendeWerte(int wert);
public static void setzeAufsteigendeWerte(int wert)
{
}
// Methode setzeAufsteigendeWerte(int wert, int step);
public static void setzeAufsteigendeWerte(int wert, int step)
{
}
// Methode printArray()
public static void printArray(int array2D[][])
{
System.out.println(array2D[0][0]);
}
// Methode printArrayInfo()
public void printArrayInfo()
{
}
}
[B]
Mein Ziel ist es erst mal das einfach 2x2 Array bestehend aus Einsen mithilfe der printArray Methode auszugeben. Als erstes würde mir auch eine Stelle reichen bevor ich es mit 2 Forschleifen für das ganze Array mache, jedoch spuckt er mir nur diese Fehlermeldung:
__tester__.java:57: error: method printArray in class ZweidimensionalesArray cannot be applied to given types;
array2D.printArray();;
^
required: int[][]
found: no arguments
reason: actual and formal argument lists differ in length
1 error
Schon mal vielen Dank