Compilerfehler

Status
Nicht offen für weitere Antworten.
K

-Kay-

Gast
hallo!
ich soll fibonaccizahlen erstellen. recursiv und iterativ, beide methoden mit einem zähler versehen und schauen wer weniger rechenschritte benötigt.
aber das mit den Zählern will mein Compiler nicht :)
kann mir jemand sagen wie ich die fehler wegbekomme?


/*
Name: Christoph Graf
Matrikelnummer: 0720168
Beschreibung: Fibonacci
*/



public class Bsp23{
public static void main (String []args){
int n;


System.out.println("Die weivielte FibonatcciZahl?");
n = SavitchIn.readLineInt();
fibRecursive(n);
fibIterative(n);
System.out.println("Ergebnis:");
System.out.println("Rekursiv: "+ fibRecursive(n) + "Aufwand: "+zaeler1);
System.out.println("Iterativ: "+ fibIterative(n) + "Aufwand: " + zaeler2);
}



public static int fibRecursive (int n){
int zaeler1=0;
if (n==0){
return 0;
return zaeler1;}
if (n==1){
return 1;
return zaeler1;}
else{
return (fibRecursive(n-1)+fibRecursive(n-2));
zaeler1++;}
}


public static int fibIterative (int n){

int zaeler2=0;
int eins = 0;
int zwei = 1;


for (int i=0;i<n;i++){

fib = eins + zwei;
eins = zwei;
zwei = fib;
zaeler2++;
}
return fib;
return zaeler2;


}



}
 
S

SlaterB

Gast
> kann mir jemand sagen wie ich die fehler wegbekomme?

kannst du denn erstmal den Fehler nennen?

---------

ich sehe grob Code wie
return 0;
return zaeler1;

zwei return hintereinander sind in Java verboten, und welchen Sinn versprichst du dir davon?

außerdem rufst du die Operation jeweils zweimal auf,
das klingt schlüssig, aber so funktioniert das nunmal nicht
 
G

Guest

Gast
compiler sagt:
>javac Bsp23.java
Bsp23.java:19: cannot find symbol
symbol : variable zaeler1
location: class Bsp23
System.out.println("Rekursiv: "+ fibRecursive(n) + "Aufwand: "+zaeler1);
^
Bsp23.java:20: cannot find symbol
symbol : variable zaeler2
location: class Bsp23
System.out.println("Iterativ: "+ fibIterative(n) + "Aufwand: " + zaeler2);
^
Bsp23.java:48: cannot find symbol
symbol : variable fib
location: class Bsp23
fib = eins + zwei;
^
Bsp23.java:50: cannot find symbol
symbol : variable fib
location: class Bsp23
zwei = fib;
^
Bsp23.java:53: cannot find symbol
symbol : variable fib
location: class Bsp23
return fib;
^
5 errors
>Exit code: 1


das mit dem zähler... ich will, dass er mit ausgibt, wie groß der rechenaufwand war.... deswegen der zähler... und ich weiß jetzt nicht, wie ich das am besten machen soll...
 
G

Gast

Gast
also ich meine deklarieren nicht innerhalb der Funktion sondern global, so dass du sie auch in der anderen Funktion benutzen kannst, wie du das vorhast
 
G

Guest

Gast
hm das gleiche problem hatte hier doch schonmal wer.. wie dem auch sei: du musst die variable "zaeler" (zähler schreibt man doch eigentlich mit h, oder?) als klassenvariable definieren (deine methoden sind ja static). das hast du bestimmt schonmal gesehen! außerhalb der methoden macht man das (static attribut nicht vergessen). dieses doppelte return brauchst (und kannst) du gar nicht benutzen. nach einem return wird eine methode nämlich immer beendet: das ist bei voids so und auch bei allen andern!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben