gpt4 book ai didi

java - 查找数组的最大值

转载 作者:行者123 更新时间:2023-12-01 14:02:26 26 4
gpt4 key购买 nike

我四处寻找答案,但没有太多运气尝试让以下内容发挥作用。

我目前正在参加入门编程类(class),并面临一个练习,我需要编写两个函数(即返回值的方法),

a) 返回最大值并且
b) 来自 double 值数组的中值。

下面是我要做的代码。我已经成功创建了一个方法,允许用户输入数组元素的数量并用一个值初始化它们。然而,我很难让计算最大值的方法发挥作用。我被明确告知要使用 Math.max 方法。但是,每当我尝试运行代码时,在用户初始化数组后都会收到以下错误消息:

"Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The method max(double, double) in the type Math is not applicable for the arguments (double, double[])"

根据我在 API 中读到的内容,Math.max 可以处理 double 类型。我对如何解决这个问题有点无能为力。我有一种感觉,我需要创建一个循环,但我的印象是 foreach 循环是等效的。

我们将不胜感激所有回复。

package com.gc01.lab2;

import java.util.Scanner;

public class exercise22 {

private static double [] numberInput(){
Scanner input = new Scanner (System.in);

System.out.println("How many numbers are in the array?");
int count = input.nextInt();
double [] array = new double [count];

for (int i = 0; i < count; ++i){
System.out.println("Enter number " + i + ": ");
array [i] = input.nextDouble();
}
return array;
}

private double maximum (double [] array){
double max = 0.0;
for (double value : array){
max = Math.max(0.0, array);
}
return max;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
final exercise22 object = new exercise22 ();
System.out.println("The maximum number inputted is " +
object.maximum(object.numberInput()));

}

}

最佳答案

您当前正在将整个数组传递给 Math.max(),而不仅仅是值。要解决此问题,请将 max = Math.max(0.0, array); 更改为 max = Math.max(0.0, value);

此外,您总是将其与 0.0 进行比较。您应该在循环元素之前将 max 设置为 0.0,然后执行 max = Math.max(max, value); 以便将其与当前最大值进行比较。

关于java - 查找数组的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19254277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com