簡體   English   中英

我在方法中的數組做錯了什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM