# Blue J - Fehlermeldung - identifier expected - illegal start



## Guest (4. Jun 2007)

Hallo,
ich benutze momentan das Programm BlueJ und muss für die Schule einen BinärBaum schreiben.
Hab alles fertig doch dann zeigt er mir immer "identifier expected" oder "illegal start of type" an.
Kann mir jemand bitte helfen?
Schreibe am Dienstag eine Klausur darüber.
Vielen Dank schon mal

*Bitte Hilfe an info@sunnybabe.com*



```
public class BinBaum
{

public static void main(String[]args)
{
String []name = {"Kamel", "Fliege", "Hund", "Katze", "Maus", "Esel",};

}

System.out.println("Sortierarray"); <----"identifier expected"
for (int i=0; i<name.length; i++) <-----"illegal start of type"
{
System.out.println (name[i]); <----"identifier expected"
}
BinBaum bin = new BinBaum (name[0]);
for (int i=1; i<namen.length; i++)
{ bin.anfuegen (name[i]);}
bin.ausgabe();

private Knoten head ;
head = null;

private BinBaum (String name);
{
head = new Knoten(name);
}

public void anfuegen (String name)
{
Knoten kn = head;
int n=0;
while (kn != null)
{
n = name.compareToIgnoreCase (kn.getName());
if (n ==0)return;
System.out.println ("xxx"+kn.getName());
if (n<0)
{
if (kn.haslNext())
{ kn=kn.getlLink();}
else
{
kn.setlLink (new Knoten (name));
return;
}
}
else
{
if (kn.hasrNext())
{kn=kn.getrLink();}
else
{
kn.setrLink (new Knoten (name));
return;
}

}
}
kn =new Knoten (name);
}

public void ausgaben();
System.out.println("\n\nSortiert:");
{
inorder (head);
}

public void inorder (Knoten kn)
{
if (kn != null)
{
inorder (kn.getlLink());
System.out.println(kn.getName());
inorder (kn.getrLink());
}
}


private class Knoten
{
private Knoten lLink=null; rLink=null;
private String name;

public Knoten (String name)
{
this.name = name;
}

public void setlLink (Knoten kn)
{lLink=kn;}
public void setrLink (Knoten kn)
{rLink=kn;}

public String getName()
{return name;}
public boolean haslNext()
{
if (lLink==null)
return false;
else
return true;
}
public boolean hasrNext()
{
if (rLink==null)
return false;
else
return true;
}

public Knoten getlLink()
{return lLink;}

public Knoten getrLink()
{return rLink;}
}
}
```


----------



## madboy (4. Jun 2007)

info@sunnybabe.com hat gesagt.:
			
		

> Hab alles fertig


 :lol: 


```
public class BinBaum 
{ 

public static void main(String[]args) 
{ 
String []name = {"Kamel", "Fliege", "Hund", "Katze", "Maus", "Esel",}; 

} 

System.out.println("Sortierarray"); <----"identifier expected"
```
- Du kannst nicht einfach so in einer Klasse was ausgeben. Das muss in eine Methode rein.
- Dein main macht nix (zumindest nix Vernünftiges).

Hast du vielleicht beim Abschreiben eine Klammer falsch gesetzt? Eventuell die schließende von public static void main()? Versuch es mal, wenn die 11 Zeilen weiter unten steht.

Allerdings wird das nicht viel helfen... Da sind noch mindestens 12 Syntaxfehler drin. Vom ";" das ein "," sein sollte bis zu wilder/falscher Klammersetzung. 

Ich kenne zwar Blue J nicht, aber das zeigt doch bestimmt Syntaxfehler an?


----------



## Guest (4. Jun 2007)

Ich habe es so von der Tafel abgeschrieben.
Das Programm zeigt immer nur einen Fehler nach dem anderen an. Wenn der korrigiert ist, kommt der nächste.
Kann nicht sehen ob da Syntax Fehler bei sind.

Werde aber noch mal schauen, mit ";" und ",".

Werde dann mal die Zeilen tiefer setzen und versuchen.

Hab die Fehlerzeilen mal als Kommentar gesetzt um zu sehen, was er noch anmahnt.



```
public class BinBaum 
{
   
    public static void main(String[]args)
    {
        String []name = {"Kamel", "Fliege", "Hund", "Katze", "Maus", "Esel",}; 
        
    
    
        System.out.println("name[]");
       for (int i=0; i<name.length; i++)
      {
         System.out.println (name[i]);
      }
         BinBaum bin = new BinBaum (name[0]);
         for (int i=1; i<namen.length; i++)
        { bin.anfuegen (name[i]);}
         bin.ausgabe();
    }
        
        
    private Knoten = head = null;  // jetzt zeigt er hier "identifier expected" an
    
    private BinBaum (String name); 
    {
     head = new Knoten(name);
    } 

private class Knoten   
    {
     private Knoten lLink=null; rLink=null;  // jetzt zeigt er hier "identifier expected" an
     private String name;
     
     public Knoten (String name)
     {
      this.name = name;
     }
     
     public void setlLink (Knoten kn)
     {lLink=kn;}
     public void setrLink (Knoten kn)
     {rLink=kn;}
     
     public String getName()
     {return name;}
     public boolean haslNext()
     {
      if (lLink==null)
      return false;
      else 
      return true;
     }
     public boolean hasrNext()
     {
      if (rLink==null)
      return false;
      else 
      return true;
     }
     
     public Knoten getlLink()
     {return lLink;}
     
     public Knoten getrLink()
     {return rLink;}
   }
```


----------



## madboy (4. Jun 2007)

Mist, jetzt hast du mich an einen Lehrer erinnert, der immer so eine Sauklaue hatte... Daher will ich dir mal glauben.
Tu dir aber den Gefallen und schau dir bei Gelegenheit mal ein Java-Grundlagenbuch an, ok?  :wink: 

```
public class BinBaum {


    public static void main(String[] args) {
        String[] name = { "Kamel", "Fliege", "Hund", "Katze", "Maus", "Esel", };

        System.out.println("Sortierarray");
        for (int i = 0; i < name.length; i++) {
            System.out.println(name[i]);
        }
        BinBaum bin = new BinBaum(name[0]);
        for (int i = 1; i < name.length; i++) {
            bin.anfuegen(name[i]);
        }
        bin.ausgaben();
    }

    private Knoten head = null;

    private BinBaum(String name) {
        head = new Knoten(name);
    }

    public void anfuegen(String name) {
        Knoten kn = head;
        int n = 0;
        while (kn != null) {
            n = name.compareToIgnoreCase(kn.getName());
            if (n == 0)
                return;
            System.out.println("xxx" + kn.getName());
            if (n < 0) {
                if (kn.haslNext()) {
                    kn = kn.getlLink();
                } else {
                    kn.setlLink(new Knoten(name));
                    return;
                }
            } else {
                if (kn.hasrNext()) {
                    kn = kn.getrLink();
                } else {
                    kn.setrLink(new Knoten(name));
                    return;
                }

            }
        }
        kn = new Knoten(name);
    }

    public void ausgaben()

    {
        System.out.println("\n\nSortiert:");
        inorder(head);
    }

    public void inorder(Knoten kn) {
        if (kn != null) {
            inorder(kn.getlLink());
            System.out.println(kn.getName());
            inorder(kn.getrLink());
        }
    }

    private class Knoten {
        private Knoten lLink = null, rLink = null;

        private String name;

        public Knoten(String name) {
            this.name = name;
        }

        public void setlLink(Knoten kn) {
            lLink = kn;
        }

        public void setrLink(Knoten kn) {
            rLink = kn;
        }

        public String getName() {
            return name;
        }

        public boolean haslNext() {
            if (lLink == null)
                return false;
            else
                return true;
        }

        public boolean hasrNext() {
            if (rLink == null)
                return false;
            else
                return true;
        }

        public Knoten getlLink() {
            return lLink;
        }

        public Knoten getrLink() {
            return rLink;
        }
    }
}
```


----------



## Guest (4. Jun 2007)

:applaus:  1000 Dank es sind keine Fehler mehr da. *freu :toll: 

Das Grundlagen-Buch werde ich mir auf alle Fälle mal kaufen.

Unser Lehrer kann auch nicht wirklich erklären, geschweige Fragen beantworten. 
Hab manchmal das Gefühl er kann es selber nicht.
Von da an, kann ich nur das abschreiben, was er schreibt und selber versuchen ob es richtig ist  
Nochmal vielen Dank


----------



## madboy (4. Jun 2007)

"Das Grundlagenbuch" gibts wohl leider nicht. Falls du nicht gleich was kaufen willst, hier gibts eins online: http://www.galileocomputing.de/openbook/javainsel6/



> Unser Lehrer kann auch nicht wirklich erklären, geschweige Fragen beantworten.
> Hab manchmal das Gefühl er kann es selber nicht.


 Leider leider kommt sowas immer wieder vor... Vor allem bei Informatik in der Schule  



> Nochmal vielen Dank


Bittschön


----------



## Guest (4. Jun 2007)

Viele Dank für den Link, ist wirklich sehr hilfreich  :toll:


----------

