Forum: PC-Programmierung Einfache Java-Frage


von Murin (Gast)


Lesenswert?

Hallo Leute,

ich versuche gerade, eine einfache Klasse in Java zu implementieren.

Daraufhin spuckt mir meine IDE den Fehler aus:
1
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
2
  Syntax error, insert "}" to complete ClassBody




Hier der Code:
1
public class Auto 
2
{
3
  public int farbencode;
4
  
5
  int get_farbencode(String y)
6
  {
7
    return y;  
8
  }
9
10
11
12
  public static void main (String []args)
13
  {
14
    Auto BMW = new Auto();
15
    System.out.println(BMW.get_farbencode("9"));
16
  }
17
}


Wo liegt mein Fehler? Kann mir jemand helfen?


Vielen Dank!

Gruß

von Der Andere (Gast)


Lesenswert?

Murin schrieb:
> meine IDE

Welche ist das?

Murin schrieb:
> int get_farbencode(String y)
>   {
>     return y;
>   }

Du returnst einen String in einer Methode die ein int zurückliefert?

Nochmal drüber nachdenken.

von Mark B. (markbrandis)


Lesenswert?

Vielleicht ist da irgend ein wirres Zeichen, was den Compiler 
durcheinander bringt. Siehe auch:

http://stackoverflow.com/questions/4030032/syntax-error-insert-to-complete-classbody

Mal abgesehen davon: Der Code ergibt so keinen Sinn, insbesondere die 
Methode get_farbencode() nicht.

von Kalter Kaffee (Gast)


Lesenswert?

Also mein Compiler (OpenJDK 1.8.0_102) hat an deinem Code aber was ganz 
anderes zu bemängeln:

1
Auto.java:7: error: incompatible types: String cannot be converted to int
2
      return y;  
3
             ^

Wenn ich der Funktion den korrekten Rückgabewert gebe, kompiliert der 
Code bei mir einwandfrei.

Kann es eventuell sein, dass du kein Newline hinter der } am Ende deiner 
Datei hast und deine grottige IDE (welche auch immer das sein mag) damit 
nicht zurecht kommt? Das ist jetzt ehrlich gesagt nur geraten, was 
anderes fällt mir jetzt auf die Schnelle aber auch nicht ein. Kannst du 
den Code denn trotzdem kompilieren?

von Markus L. (rollerblade)


Lesenswert?

> Exception in thread "main" java.lang.Error: Unresolved compilation problem
Das ist kein Compile Error sondern ein Ausführfehler. Die JVM bemängelt 
das Compilat, nicht der Compiler den Source Code.
Ich würde erst mal den Compile Error beheben, bevor ich das Programm 
ausführe. Eclipse zeigt rote Boppel dafür an.

Allerdings müßte da stehen: Type mismatch: cannot convert from String to 
int
statt was von einer fehlenden Klammer.

: Bearbeitet durch User
von PaulBaumannIstBobDerBaumeister (Gast)


Lesenswert?

Sollte die Main Funktion nicht außerhalb Klasse stehen ?
Wie ist das in Java ?
So wie es jetzt da ist, wäre die Main innerhalb der Klasse Auto...

von Der Andere (Gast)


Lesenswert?

PaulBaumannIstBobDerBaumeister schrieb:
> Sollte die Main Funktion nicht außerhalb Klasse stehen ?
> Wie ist das in Java ?

Schau mal da:
http://openbook.rheinwerk-verlag.de/javainsel/

von Mark B. (markbrandis)


Lesenswert?

PaulBaumannIstBobDerBaumeister schrieb:
> Sollte die Main Funktion nicht außerhalb Klasse stehen ?
> Wie ist das in Java ?
> So wie es jetzt da ist, wäre die Main innerhalb der Klasse Auto...

Es gibt in Java keine Funktionen außerhalb von Klassen. Also muss auch 
main() zu einer Klasse gehören.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.