我在方法中使用数组做错了什么?

时间:2017-05-04 14:09:56

标签: java arrays

我不确定我做错了什么。我正在使用Java,我的控制台说它找不到符号getBattingAverage.batters(i)。击球手是15个名字的阵列,在击球,并击中前:安东尼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;

   }

2 个答案:

答案 0 :(得分:0)

这里的语法:

 j = getBattingAverage.batters(i);

应该是 - 对数组元素的方法调用:

j = batters[i].getBattingAverage();

或 - 在列表元素上调用方法。

j = batters.get(i).getBattingAverage();

或 - 使用数组元素的方法调用

j = getBattingAverage(batters[i]);
例如,

但老实说,真正的答案在这里:不要去试验有关语法的错误。学习书籍/教程,学习这些东西应该如何运作。

答案 1 :(得分:0)

这是无效的Java - 不会编译。从您的代码中可以看出您的意图并不明显。

我看到你定义了一个函数getBattingAverage()。假设您定义了atBats并在其他地方点击,那就没关系。可能是包含对象中的实例字段。请使用带有if语句的花括号。

在getHighestBattingAverage的for循环中,您可以将batters视为数组。然后你说getBattingAverage.batters(i)好像getBattingAverage是一个具有batters()方法的类的对象。 j来自哪里? maxERA来自哪里?

Java拥有出色的文档。以下是关于ArraysLanguage BasicsTutorials HomeAPI Reference的部分。这就是我自学Java的方式。

您可能会发现使用像IntelliJ这样的IDE很有帮助,因为它会告诉您在键入时出现的错误,并为您提供编写更好代码的提示。祝学习Java好运!

所有这一切,理想的StackOverflow问题有一个问题。这看起来像是你的第一个Java程序,看起来很不错。但StackOverflow是针对更具体的问题。诸如“没有任何作用,这里是我需要解释”的不完整摘录的问题将被视为过于宽泛。事实上,我可能会投票决定关闭它,因为形成得不够好,或者真的没有一个特定的问题。