Java Fehlermeldungen

Z

Zandalor

Gast
Hi Leute,
eine freundin hat ein Problem mit einem Code aber kein Internet. Deswegen schreibe ich hier. Nehmt bitte ein klein wenig rücksicht auf mich, denn ich habe eigentlich keine ahnung denke ich.

Also, ich schreibe mal ab was sie als Aufgabe aufgeschrieben hat und danach 2 Codes

Java Gui

- Methoden d. JComboBox
- Methoden d. JLabel

Wie schaffe ich mit Hilfe d. JComboBox oder JLabel Wagons auf Gleisen hin un her zu verschieben

Programmiert mit Java Editor

Das hat sie mir original auf den Zettel geschrieben.

Sie hat in dem Projekt Ordner 2 Dateien. 1 mal Bahnhofneu.java und einmal Stackneu.java

Bahnhofneu.java

Java:
class Bahnhofneu
{
  private Stack[]gleise;
  String Wagon1;
  String Wagon2;
  String Wagon3;
  
  public Bahnhofneu()
  {
    gleis = new Stack[3];
    
    for (i=0;i<3 ;++i ) 
    {
      gleis[i]= new Stack();
    } 
  }
  
  public boolean verschieben(int vonGleis, int nachGleis)
  
  {
    if(gleise[nachGleis].size()==3 || gleise[vonGleis].size()==0) //überprüft ob das gleis frei ist, und ob auf dem anderen ein Wagon drauf ist (|| = oder )
    return false;
  }
  
  else
  {
    String wagon = gleis[vonGleis].pop();   //runternehmen
    gleis[nachGleis].push(wagon);
    return false;
    
  }   

  
  public boolean erstelleWagon(int gleis)
  {
  if (gleise[gleis].size()==3)
  {
    return false;
  } // end of if
  
  else 
  {
    gleis[gleis].push(wagon);  //drauflegen
    return true;
  }  
  }
  
  
  public boolean entferneWagon(int gleis)
  {
    if (gleise[gleis].size()==0 
    {
      return false;
    } 
    
    else
    {
      gleise[gleis].pop();
      return true;
    }
  }
}



Stackneu.java

Java:
import java.util.*;

public class Stack
{  int Wagon;

  LinkedList<Wagon>l= new LinkedList();
  
  public void push(String Wagon)
  {
    l.add(wag);

  }

  public Gleis pop()
  {
    return l.removeLast();
  }
  
  public int size()
  {
    return l.size();
  }

}

So, mit dem Java Editor bekommt sie jede Menge fehlermeldungen und da ich keine Ahnung habe, wäre ich dankbar wenn jemand helfen würde (wirklich, langsam nervt es wenn man immer zu allem möglichem gefragt wird nur weil man 3 PC´s in der Wohnung hat...)


Gruß Zandalor
 
Z

Zandalor

Gast
Ach ja, mit dem Java Editor hat sie bei sich zuhause geschaut. In der Schule benutzt sie BlueJ oder so ähnlich.
 
N

nillehammer

Gast
In der Methode verschieben von BahnhofNeu sind die geschweiften Klammern falsch gesetzt bzw. es fehlen welche. Schau Dir zum Vergleich mal die anderen beiden Methoden der Klasse an. Da stimmt es (zumindest soweit ich das sehe).

P.S. Es macht übrigens Sinn, die "Fehlermeldung" mit zu posten. Das erleichtert die Suche für uns und erhöht die Wahrscheinlichkeit einer hilfreichen Antwort. Außerdem zwingt es Dich dazu, die Fehlermeldung zumindest einmal zu lesen. Etwas Englischkenntnisse vorausgesetzt, sind gerade die Meldungen des Compilers nämlich ziemlich gut (es wird gesagt, was falsch ist, die Zeilennumer ist auch dabei...)
 
M

Marcinek

Gast
P.S. Es macht übrigens Sinn, die "Fehlermeldung" mit zu posten. Das erleichtert die Suche für uns und erhöht die Wahrscheinlichkeit einer hilfreichen Antwort. Außerdem zwingt es Dich dazu, die Fehlermeldung zumindest einmal zu lesen. Etwas Englischkenntnisse vorausgesetzt, sind gerade die Meldungen des Compilers nämlich ziemlich gut (es wird gesagt, was falsch ist, die Zeilennumer ist auch dabei...)

Wenn man allerdings die Lösung erhält, obwohl man die Fehlermeldung nicht gepostet hat, sondern ein anderer sich die Mühe macht diese noch herauszufinden, dann hat man auch keinen Grund sowas zu posten ;D

@TO: Compilerfehler einfach googeln.
 
N

nillehammer

Gast
Marcinek hat gesagt.:
Wenn man allerdings die Lösung erhält, obwohl man die Fehlermeldung nicht gepostet hat, sondern ein anderer sich die Mühe macht diese noch herauszufinden, dann hat man auch keinen Grund sowas zu posten ;D
Ja stimmt :popcorn: Ich versuch aber Belehrungen meinerseits immer mit 'ner Antwort zu verknüpfen. Das wirkt etwas netter :)
 
Z

Zandalor

Gast
Ja die Fehlermeldungen zu posten macht sinn. Das leuchtet mir ein^^

Fehlermeldung Bahnhofneu

Java:
Compiliere C:\Users\Administrator\Desktop\projekt\Stackneu.java mit Java-Compiler
Stackneu.java:4:8: error: class Stack is public, should be declared in a file named Stack.java
public class Stack
       ^
Stackneu.java:7:14: error: cannot find symbol
  LinkedList<Wagon>l= new LinkedList();
             ^
  symbol:   class Wagon
  location: class Stack
Stackneu.java:15:10: error: cannot find symbol
  public Gleis pop()
         ^
  symbol:   class Gleis
  location: class Stack
Stackneu.java:11:11: error: cannot find symbol
    l.add(wag);
          ^
  symbol:   variable wag
  location: class Stack
Note: Stackneu.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors

Compiliere C:\Users\Administrator\Desktop\Informatik\projekt\Bahnhofneu.java mit Java-Compiler
Bahnhofneu.java:25:3: error: illegal start of type
  else
  ^
Bahnhofneu.java:25:7: error: ';' expected
  else
      ^
Bahnhofneu.java:28:11: error: ']' expected
    gleis[nachGleis].push(wagon);
          ^
Bahnhofneu.java:28:20: error: ';' expected
    gleis[nachGleis].push(wagon);
                   ^
Bahnhofneu.java:28:22: error: invalid method declaration; return type required
    gleis[nachGleis].push(wagon);
                     ^
Bahnhofneu.java:28:32: error: <identifier> expected
    gleis[nachGleis].push(wagon);
                               ^
Bahnhofneu.java:29:5: error: illegal start of type
    return false;
    ^
Bahnhofneu.java:29:11: error: ';' expected
    return false;
          ^
Bahnhofneu.java:34:10: error: class, interface, or enum expected
  public boolean erstelleWagon(int gleis)
         ^
Bahnhofneu.java:39:3: error: class, interface, or enum expected
  } // end of if
  ^
Bahnhofneu.java:44:5: error: class, interface, or enum expected
    return true;
    ^
Bahnhofneu.java:45:3: error: class, interface, or enum expected
  }  
  ^
Bahnhofneu.java:49:10: error: class, interface, or enum expected
  public boolean entferneWagon(int gleis)
         ^
Bahnhofneu.java:54:5: error: class, interface, or enum expected
    } 
    ^
Bahnhofneu.java:59:7: error: class, interface, or enum expected
      return true;
      ^
Bahnhofneu.java:60:5: error: class, interface, or enum expected
    }
    ^
16 errors

Fehlermeldung Stackneu

Java:
Compiliere C:\Users\Administrator\Desktop\Informatik\projekt\Stackneu.java mit Java-Compiler
Stackneu.java:4:8: error: class Stack is public, should be declared in a file named Stack.java
public class Stack
       ^
Stackneu.java:7:14: error: cannot find symbol
  LinkedList<Wagon>l= new LinkedList();
             ^
  symbol:   class Wagon
  location: class Stack
Stackneu.java:15:10: error: cannot find symbol
  public Gleis pop()
         ^
  symbol:   class Gleis
  location: class Stack
Stackneu.java:11:11: error: cannot find symbol
    l.add(wag);
          ^
  symbol:   variable wag
  location: class Stack
Note: Stackneu.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors

Also mir sagt das mal so garnichts. Ich habe seit heute morgen mir das durchgelesen und durch einen Doppelklick kommt man ja auch in die Zeile mit dem Fehler. Ich habe auch gegoogelt aber das sagt mir nicht viel. Ich habe vor ca 2 Stunden angefangen mit einer Einführung für Java damit ich vlt irgendwas davon verstehe. Aber Java lernt man nicht so schnell denke ich also macht das nicht so viel Sinn.

@nillehammer
Wenn ich rausgefunden habe was eine Methode ist bzw wie man so etwas schreibt, dann komme ich vlt auch darauf wie man die Klammern setzt :)

Auf jedenfall danke das ihr euch überhaupt damit befasst :)

Gruß Zandalor
 
T

Tomate_Salat

Gast
error: class Stack is public, should be declared in a file named Stack.java
Die Fehlermeldung sagt dir doch ganz genau, was du machen musst, damits läuft ;-). Vllt sollte sich deine Freundin nochmal hinsetzen und die Basics lernen --- am besten komplett vom Anfang an.
 
Zuletzt bearbeitet von einem Moderator:
Z

Zandalor

Gast
ok dann sollte ich danach jetzt googgeln wie das geht?
Also damit ich das richtig verstehe, ich soll eine Datei namens Stack.java erstellen und die soll in Bahnhof neu angegeben sein?

Wirklich, ihr könnt mir glauben das ich überhaupt keine ahnung von Java habe und ich mich seit heute damit befasse. Könnt ihr mir vlt sagen in welchem Abschnitt eines Tuorials sowas vorkommt?

Hm ich googel mal nach dieser meldung und schaue dann was ich machen soll.
 
Z

Zandalor

Gast
Ok, ich habe gegoogelt und wenigstens bei Stackneu.java nur noch einen Fehler. Ich weiß aber nicht was der mir sagen soll.

Stackneu.java

Java:
import java.util.*;

public class Stackneu
{  int Wagon;

  LinkedList<Wagon1>= new LinkedList();
  
  public void push(String Wagon)
  {
    l.add(wag);

  }

  public Gleis pop()
  {
    return l.removeLast();
  }
  
  public int size()
  {
    return l.size();
  }

}

Fehlermeldung

Java:
Compiliere C:\Users\Administrator\Desktop\Informatik\projekt\Stackneu.java mit Java-Compiler
Stackneu.java:7:21: error: <identifier> expected
  LinkedList<Wagon1>= new LinkedList();
                    ^
1 error
 
Z

Zandalor

Gast
Danke Landei, aber wenn ich das tue, kommt diese Fehlermeldung bei rum

Java:
Compiliere C:\Users\Administrator\Desktop\Informatik\projekt\Stackneu.java mit Java-Compiler
Stackneu.java:7:20: error: <identifier> expected
  LinkedList<Wagon> 1= new LinkedList();
                   ^
Stackneu.java:7:22: error: illegal start of type
  LinkedList<Wagon> 1= new LinkedList();
                     ^
Stackneu.java:7:23: error: <identifier> expected
  LinkedList<Wagon> 1= new LinkedList();
                      ^
Stackneu.java:7:27: error: ';' expected
  LinkedList<Wagon> 1= new LinkedList();
                          ^
Stackneu.java:7:38: error: illegal start of type
  LinkedList<Wagon> 1= new LinkedList();
                                     ^
Stackneu.java:7:39: error: <identifier> expected
  LinkedList<Wagon> 1= new LinkedList();
                                      ^
6 errors
 

Timothy Truckle

Top Contributor
Danke Landei, aber wenn ich das tue, kommt diese Fehlermeldung bei rum

Java:
Compiliere C:\Users\Administrator\Desktop\Informatik\projekt\Stackneu.java mit Java-Compiler
Stackneu.java:7:20: error: <identifier> expected
  LinkedList<Wagon> 1= new LinkedList();
Ja, es ist hart, wenn man
Code:
l
nicht von
Code:
1
unterscheiden kann...

bye
TT
 
N

nillehammer

Gast
Jaja, 1 (eins) und l (Buchstabe L) sind leicht zu verwechseln. Landei hat l genommen, Du 1. Identifier dürfen in Java nicht mit einer Zahl beginnen. Ich muss aber sagen, langsam nervt mich es mich, dass wir hier den Debugger für Dein Programm spielen sollen, wo du offensichtlich so wenig von den Syntaxregeln in Java weißt. Ich bin jedenfalls raus.
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
Jaja, 1 (eins) und l (Buchstabe L) sind leicht zu verwechseln. Landei hat l genommen, Du 1. Identifier dürfen in Java nicht mit einer Zahl beginnen. Ich muss aber sagen, langsam nervt mich es mich, dass wir hier den Debugger für Dein Programm spielen sollen, wo du offensichtlich so wenig von den Syntaxregeln in Java weißt. Ich bin jedenfalls raus.

Ich entschärfe das mal ein wenig:

Das Problem ist folgendes: deine/eure Probleme sind von solch Grundlegender Natur, dass soetwas in jedem Lehrbuch zu Java im ersten Kapitel nach der Enstehungsgeschichte zur Sprache erklärt wird. Wenn man nicht weiß, wie man eine Klasse korrekt anlegt oder eine variable, dann ist das kein Fall für ein Forum, sondern für ein Lehrbuch oder Google. Dann solltest du auch die Fehlermeldungen lesen: wenn da drin steht: "Der Name der Datei muss [name].java heißen" - dann benennt man die Datei um ;-).

Wir sind keine Lehrer die mit dir/euch Kapitelweise ein Lehrbuch durchgehen + Übungen kontrollieren. Das könnt ihr selber oder lernt es in der Schule/Uni. Wenn Ihr Probleme habt, ist das Forum eigentl. immer der letzte Schritt.

1.) selber nachdenken, lösungswege ausprobieren
2.) Google
3.) Google mit besseren schlagwörtern
4.) Schritt 3.) optimiert
5.) Forum-suche

Wenn dann keine Lösung gefunden wurde, dann helfen wir natürlich gerne ;-)
 

Neue Themen


Oben