Matrix Java

  • Themenstarter Themenstarter JavaNeuling2
  • Beginndatum Beginndatum
J

JavaNeuling2

Gast
Hallo Leute, meine Aufgabe besteht darin die Klasse Wald mit Bäumen ("o") zu füllen und wenn ich Bäume fälle mit ("x") zu ersetzen. Da jetzt die Matrix vom Typ Baum ist, kann ich nicht einfach
Java:
wald[x][y] = "o";
einfügen, sondern muss das glaub ich über "String toString()" machen... bin mir aber diesbezüglich nicht sicher. Weiß wer wie ich da vorgehen muss?


Java:
public class Baum {
	protected boolean gefaellt;
	
	public String toString(){
		return null;
	}


class Wald extends Baum{
	public Wald(int x,int y){
		Baum[][] wald = new Baum[x][y]; //x=anzahl Zeilen, y=anzahl Spalten
		
		for(int i=0;i<x;i++){
			for(int j=0;i<y;i++){
				wald[x][y] = "?";
			}
		}
	}
	
	
}

}
 
In der toString gibst du eben ein
Code:
o
aus, wenn es nicht gefällt ist, und ein
Code:
x
, falls es gefällt ist.
Und dein Array ist vom Typ Baum, also musst du es auch mit Baum-Objekten füllen.
 
Ja super Tipp. Das heißt quasi wald[x][y].toString();
Und dort return ich "o" und bei gefällt "x"... richtig verstanden?
 
Hallo Leute, meine Aufgabe besteht darin die Klasse Wald mit Bäumen ("o") zu füllen und wenn ich Bäume fälle mit ("x") zu ersetzen. Da jetzt die Matrix vom Typ Baum ist, kann ich nicht einfach
Java:
wald[x][y] = "o";
einfügen, sondern muss das glaub ich über "String toString()" machen... bin mir aber diesbezüglich nicht sicher. Weiß wer wie ich da vorgehen muss?

Da sind einige Fehler/Mängel drin:
Was soll
Code:
toString(){ return null; }
bringen?
(eine Klammer fehlt auch)
Grundsätzlich wider sprechen sich:
Code:
wald = new Baum[x][y]; ...  wald[x][y] = "?";
, da wald vom mTyp Baum ist, und nicht vom Typ String.
Außerdem würde ich gefällt nicht duch "x" oder String realisieren, sonder ist typischer Boolean. (Machst du ja in Baum).
Erst die Darstellung bei der Ausgabe macht daraus ein (beliebiges) Symbol.
Außerdem ist wald nicht initialisiert.

mein Vorschlag:
Java:
	public String toString(){
		return (gefaellt?"x":"o");
	}
	public void setzen(){
		this.gefaellt=false;
	}
	public void faellen(){
		this.gefaellt=true;
	}
und
Java:
            ...
            for(int j=0;i<y;i++){
                wald[x][y] = new Baum(); // hier wird erst die Baum"möglichkeit" geschaffen.  
                wald[x][y].setzen();     // würde ohne Baum NullPointerException bringen!
            }

Aber dein "?" deutet darauf hin, dass du 3 Zustände willst: WIESE/BAUM/GEFÄLLT.
Dazu musst du mehr ändern.
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben