[英]What am i doing wrong with arrays in methods?
我不確定我做錯了什么。 我正在使用 Java,我的控制台說它找不到符號 getBattingAverage.batters(i)。 擊球手是一個由 15 個名字組成的數組,分別是擊球和擊球數,例如:Anthony Rizzo 54 16。
public double getBattingAverage()
{
if(atBats > 0)
return (double) hits / (double) atBats;
else
return 0.0;
}
public double getHighestBattingAverage()
{
for( i = 0; i < batters.length; i++)
{
j = getBattingAverage.batters(i);
if ( maxERA < j)
maxERA = j;
}
這里的語法:
j = getBattingAverage.batters(i);
應該是 - 對數組元素的方法調用:
j = batters[i].getBattingAverage();
或 - 對列表元素的方法調用。
j = batters.get(i).getBattingAverage();
或 - 使用數組元素的方法調用
j = getBattingAverage(batters[i]);
例如。
但老實說,這里的真正答案是:不要在語法方面進行反復試驗。 學習書籍/教程,了解這些東西應該如何運作。
這不是有效的 Java - 無法編譯。 從您的代碼中看不出您的意圖。
我看到你定義了一個函數 getBattingAverage()。 假設您定義了 atBats 並點擊了其他地方,那就沒問題了。 可能作為包含對象中的實例字段。 請在if
語句中使用大括號。
在 getHighestBattingAverage 的 for 循環中,您將擊球手視為一個數組。 然后你說getBattingAverage.batters(i)
就好像getBattingAverage
是一個具有getBattingAverage
batters()
方法的類的對象。 j從哪里來? maxERA 從哪里來?
Java 有很好的文檔。 這是關於數組、 語言基礎、教程主頁和API 參考的部分。 這就是我自學Java的方式。
您可能會發現使用像 IntelliJ 這樣的 IDE 很有幫助,因為它會在您鍵入時告訴您錯誤是什么,並為您提供編寫更好代碼的提示。 祝你學習Java好運!
綜上所述,理想的 StackOverflow 問題有一個問題。 這看起來像是您的第一個 Java 程序,而且看起來很不錯。 但是 StackOverflow 是針對更具體的問題。 諸如“沒有任何效果,這是我需要解釋的不完整摘錄”之類的問題將因過於寬泛而被關閉。 事實上,我可能會投票結束這個問題,因為它不夠完善,或者真的沒有一個特定的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.