Java 计算最小值vs计算最大值

Java 计算最小值vs计算最大值,java,for-loop,Java,For Loop,我怀疑我在编写“lowestScore”方法时出错(我或多或少否定了“largestScore”方法,因为该方法始终返回正确的值(数组中的最高分数).但出于某种原因,我的lowestScore方法要么只是返回数组中的第一个元素,要么返回任意数,甚至不是从数组返回的。有什么想法吗 public static double highestScore(double[] scores) { double max = scores[0]; for (int i=0;

我怀疑我在编写“lowestScore”方法时出错(我或多或少否定了“largestScore”方法,因为该方法始终返回正确的值(数组中的最高分数).但出于某种原因,我的lowestScore方法要么只是返回数组中的第一个元素,要么返回任意数,甚至不是从数组返回的。有什么想法吗

    public static double highestScore(double[] scores)
    {
      double max = scores[0];
      for (int i=0; i < scores.length; i++) {
        if (scores[i] > max) {
          max = scores[i];
        }
      }
      return max;
    }

    public static double lowestScore(double[] scores)  //possible problem some where in
    {                                                  //here?
      double min = scores[0];
      for (int i=0; i > scores.length; i++) {
        if (scores[i] < min) {
          min = scores[i];
        }
      }
      return min;
    }
public静态双高分数(双[]分)
{
双倍最大值=分数[0];
for(int i=0;i最大值){
max=分数[i];
}
}
返回最大值;
}
public static double lowerstscore(double[]score)//可能的问题
{//这里?
双分=分数[0];
对于(int i=0;i>scores.length;i++){
如果(分数[i]
是的,问题在于
最低分数
。您将
都倒置,但您仍应在整个数组上循环。在代码中,
i>得分.length
(最初是
0>得分.length
)计算结果为
false
,因此循环不会执行,
min
始终等于
分数[0]

改变

for (int i=0; i > scores.length; i++)

for(int i=0;i
公共静态双最低分数(double[]分数)//可能出现的问题
{//这里?
双分=分数[0];
对于(int i=0;i>scores.length;i++){
如果(分数[i]
(int i=0;i>scores.length;i++){的行
。条件为“如果
i
大于
scores.length,则继续循环”。当
i
现在初始化为0时,它永远不会大于数组的大小。因此,循环立即结束,返回值是数组的第一个元素,如循环之前设置的


另外,很容易纠正错误,当将
最高分
更改为
最低分
时,您只是将
颠倒过来了。编辑问题,只留下实际问题。使问题易于阅读,也使其更容易回答。明白了。感谢指针,这很有意义。就是这些小问题花了几个小时才发现的ngs。很高兴在尝试找出它之后,我可以来到这里,看看正确的方法,并真正学到一些东西。谢谢!谢谢你的投入!这种反馈对于像我这样的初学者来说是无价的。
for (int i=0; i < scores.length; i++)
public static double lowestScore(double[] scores)  //possible problem some where in
{                                                  //here?
  double min = scores[0];
  for (int i=0; i > scores.length; i++) {
    if (scores[i] < min) {
      min = scores[i];
    }
  }
  return min;
}