# Fehlermeldung bei einem Programm für die Uni



## Tomek_N (14. Dez 2008)

Hallo Forengemeinde,

ich bin kurz vor dem Verzweifeln. Studen sitze ich an Büchern über Java und lese, probiere es am PC umzusetzen, was leider nicht so oft klappt.

Nun habe ich morgen an der Uni einen Test.
Muss Hausübungen mitbringen, diese vor Ort erklären und verändern.

Nun habe ich eine Klasse geschrieben, jedoch spuckt der Compiler eine Fehlermeldung aus.

Was habe ich falsch gemacht? Ich bitte um Hilfe.


```
public class Vektor3D
{
private double x;
private double y;
private double z;
private double betrag;
private boolean einheitsvektor;

public Vektor3D(){
this.x=0.0;
this.y=0.0;
this.z=0.0;
this.betrag=0.0;
this.einheitsvektor=false;
}

public Vektor3D(double x, double y, double z){
this.x = x;
this.y = y;
this.z = z;
this.betrag = 0.0;
this.einheitsvektor = false;
}

public void einlesen(){
System.out.println("Bitte X, Y, Z Komponenten mit einem Return eingeben");
x = Keyboard.readDouble();
y = Keyboard.readDouble();
z = Keyboard.readDouble();
}

public void ausgeben(){
System.out.println("X-Komponente beträgt:" +x");
System.out.println("Y-Komponente beträgt:" +y");
System.out.println("Z-Komponente beträgt:" +z");
}

public void berechneBetrag(){
betrag = x*x + y*y + z*z;
betrag = Math.sqrt(betrag);

if(betrag==1.0){
einheitsvektor=true;
}

public double holeBetrag(){
return betrag;
}

public boolean istEinheitsvektor(){
return einheitsvektor;
}
}
}
```

Compiler Fehlermeldung lautet:


```
Vektor3D.java:54:1: illegal start of expression
public double holeBetrag(){
^
Vektor3D.java:54:25: ';' expected
public double holeBetrag(){
                        ^
Vektor3D.java:58:1: illegal start of expression
public boolean istEinheitsvektor(){
^
Vektor3D.java:58:33: ';' expected
public boolean istEinheitsvektor(){
                                ^
4 errors
```

Bedanke mich im voraus. Grüße


----------



## Landei (14. Dez 2008)

Yo, kann mir vorstellen, dass die Fehlermeldung auf den ersten Blick merkwürdig aussieht. Kleiner Tipp: Sagt der Compiler "Das ist falsch", und es sieht absolut OK aus, ist es meist ein Klammerfehler *vor* der angemeckerten Zeile, wie auch hier. Ordentlich einrücken hilft:

```
public void berechneBetrag(){
  betrag = x*x + y*y + z*z;
  betrag = Math.sqrt(betrag);

  if(betrag==1.0){
    einheitsvektor=true;
  }
//sollte hier nicht eine zue Klammer stehen???

public double holeBetrag(){ 
...
```


----------



## Tomek_N (14. Dez 2008)

Jetzt funktioniert es, vielen Dank!!!


----------

