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