public static void main(String args [])
{
Scanner in = new Scanner(System.in);
int number = 0;
do{
System.out.print("Which Fibonacci Number would you like? ");
number = in.nextInt();
}while(number < 0 || number > 71);
System.out.printf("Fibonacci #%d is %d\n",number, fibcalc(fib));
}
public static double fibcalc(int number)
{
double prevNumber1 = 0;
double prevNumber2 = 1;
double fib = 0;
for(int i =0; i < number; i++){
fib = prevNumber1;
prevNumber1 = prevNumber2;
prevNumber2 = fib + prevNumber2;
}
return fib;
}
上面的代碼是我的。錯誤:找不到符號
以下是我不斷收到錯誤:
error: cannot find symbol
System.out.printf("Fibonacci #%d is %d\n",number, fibcalc(fib));
^
symbol: variable fib
location: class dlin_Fibonacci
這是說,它無法找到 fibcalc(fib)
我想從我的fibcalc
方法返回的fib
的價值,所以我可以打印它在我的main
方法中。
有誰知道爲什麼它不讓我?
我試圖只使用變量fib
,但結果是相同的錯誤消息。 這是否與變量fib
是局部變量而不是類變量這一事實有關?如果是這樣,那麼如何使它成爲一個類變量? 我試着移動我的main
方法上方的變量fib
和number
。像...
private static int number = 0;
private static double fib = 0;
public static void main(String arg[])
但是,這給了我錯誤:illegal start of an expression
爲變量。
另外,有人可以告訴我,如果我正在做退貨聲明是正確的嗎?
我做了一些研究,去不同的網站觀看視頻。我似乎跟着每一步。然而,我仍然沒有在「傳遞參數」 這是一個方法內的()內的變量意味着什麼。該變量是來自其他方法還是隻是在寫入的方法內創建的?就像我上面的例子一樣,將變量int number
從我的main
方法傳遞給我的fibcalc
方法,只需在()中聲明它即可。
你可能想要添加一個標籤對應於你正在使用的實際語言,而不是一個無用的過度概括標籤。 – 2012-11-21 19:13:36
你也可能想把return語句放到你正在使用的方法中,否則你將不會返回任何東西 – Vogel612
添加java標記*以及將return語句放入我正在使用的方法中是什麼意思?這不是'fibcalc'方法嗎? – user1714873