length? Vergleich gelingt nicht

drpingoo

Erfahrenes Mitglied
Hallo zusammen,

ich hab ein Problem und zwar lässt sich die Länge nicht vergleichen, da er irgendwie das Feld nicht findet. Kann mir da jemand weiterhelfen?

lg

PHP:
public class Array_nach_Eingerueckt {
	static char[] Baum;
	 //int[] Baum = new int [15];
	int length(){ return 0;
	}
	// param i: die position im array
	
	// param j: die momentane einruecktiefe
	public static void einruecken(int i, int j) {
	 	if( Baum.lenght <= i || Baum[i] != ' ') return;
		
		// ...
		// Ausgabe von einem Leerzeichen pro Baumebene

		for( int n=0; n<j; n++) {
			System.out.print( " ");
		}
		System.out.println(Baum[i]);
		einruecken(2*i, j+1);
		einruecken(2*i+1, j+1);
		} // end eingerueckt()
	// uebergeben sie dem programm die array-darstellung des baums
	// als einziges argument. sollte die array-darstellung $
	// leerzeichen enthalten, umschliessen sie diese mit 
	// anfuerungszeichen. Beispiel:
	//
	// java Array_nach_Eingerueckt "123 67"
	//
	// testen sie ihr programm mit den folgenden eingaben (dabei ist
	// ein leerer Knoten durch ein leerzeichen dargestellt):
	//
	// "1234567"
	// "1 3  67"
	// "AB D   H       P"
	// "A C   G       O"

	public static void main(String args[]) {
		
		if(args.length == 0 || args.length > 1) {
			System.out.println("java Array_nach_Eingerueckt \"ABC  FG\"");
			System.exit(1);
		}

		String input = " " + args[0];
		Baum = input.toCharArray();

	// das char-array, welches den Baum repraesentiert, ist nun in
	// der klassenvariablen baum gespeichert. durch voranstellen
	// eines leerzeichens beginnt ihre eingabe an index 1 des arrays
	// System.out.println(String.copyValueOf(Baum));
		einruecken(1,0);
	} // end main()
	} // end class array_nach_eingerueckt
 
Hallo,

ich schätze mal du meinst diese Zeile
Code:
if( Baum.lenght <= i || Baum[i] != ' ') return

Eine genauere Angabe wäre echt hilfreich.

Wie kommst du drauf, dass das nicht funktioniert?

MFG

Sascha
 
ok, danke, ja ,habs vergessen anzugeben und der Fehler war auch wirklich dumm:eek:. Trotzdem danke.

Lg
drpingooa
 
Die Frage ist, auf welches length will er zugreifen?

Da sehe ich eine statische Variable Baum[], was natürlich vom Array her, dass Attribut length hat. Ansonsten hat er auch selbst in dieser Klasse Baum, die Methode length....

daher entweder:
Baum.length //Attribut des Arrays
oder
length() //Methode die du geschrieben hast

P.S.: Variablen schreibt man nach Konvention am Anfang klein, nur statische Konstanten (static final) schreibt man komplett GROSS
http://java.sun.com/docs/codeconv/
 
Zuletzt bearbeitet:
Ja, ich meinte damit eingtl das Atrribut des Arrays, aber hat sich schon geklärt, trotzdem dabke!

lg
drpingoo
 
Zurück