Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
ich habe Probleme mit Methoden und Arrays. Meine Übungsaufgabe besteht darin ein magisches Quadrat anzulegen. Ich muss 3 Methoden schreiben. a) Erstellen b) Prüfen c) Ausgeben
Meine Frage ist jetzt: Wo lege ich das Array an? Geht es, das ich es in der "Erstellen" Methode initialisiere und als Returnwert der Main Methode liefere oder muss ich in der Main Methode das Array anlegen und der "Erstellen" Methode übergeben.
Danke für die Antwort.
Nun komme ich zu der Frage wie ich das Array in die Main Methode bekomme und dort weiterverarbeite.
Die "erstellen" Methode würde ungefähr so aussehen:
Java:
public static int[][] erstellen(int g)
{
int[][] quadrad = new int[g][g];
return quadrad;
}
Noch eine Frage:
Sollte man Arrays grundsätzlich beim initialisieren mit Nullen befüllen? Normal macht das Java von sich aus. Habe aber gelesen das das sicherer wäre.
Ok.
Jetzt die letzte Frage (Hoffe ich zumindestens)
Ich habe in der Main Methode das Array.
Jetzt möchte ich das zur "anzeigen" Methode übergeben.
Das wird eine void Methode da ja nichts zugeliefert werden muss.
Also in der Main:
Java:
main {
anzeigen(quadrat);
}
public static void anzeigen(int[][] a)
{
int i;
for(i=0;i<a.length();i++)
{
System.out.println(a[0][i]);
}
}
Aber da ist ein Fehler drin.
Wie muss ich das Richtig machen?
also wennes wirklich lehrer gerecht machen willst:
Java:
private int[][] quadrat;
public static void main(String[] args)
{
//erstellt eine neue klasse (new KlassenName());
}
public KlassenName()
{
//sorgt dafür das quadrat nicht null ist
}
public void erstellen(int s)
{
//macht quadrat zum gewünschten array mit der gewünschten größe + inhalt
}
public void pruefen()
{
//dein prüfzeugs
}
public void ausgeben()
{
//da du sicher noch in die konsole printen darfst, gibste hier nur noch das quadrat array aus
}
die steht der kompletten klasse zur verfügung
die rechtevergabe als private sagt das nur diese klasse dran kann un keine andere
heißt für dich ganz einfach, du brauchst das array nicht immer als return oder so hin un her werfen sondern speicherst das ding in der klasse zwischen.
hat den vorteil das alle drei methoden ohne returnwert auf das array zugreifen können.
falls(!) du den drang hast die variablen in ner anderen klasse zu gebrauchen, musste dir getter und setter basteln, aber das steht schön in der FAQ erklärt.