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.
Blue J - Fehlermeldung - identifier expected - illegal start
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
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?
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.
Code:
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;}
}
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:
Code:
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;
}
}
}
: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