提问者:小点点

使用双数组和用户输入查找数组的最小值/最大值


以下是任务的具体要求:

“首先,启动NetBeans并关闭之前可能打开的所有项目(在顶部菜单“转到文件”)==

然后创建一个名为“MinMax”(不带引号)的新Java应用程序,该应用程序声明一个长度为5的双精度数组,并使用方法使用来自命令行的用户输入填充数组,并打印出数组中的max(最高)和min(最低)值。确定最大值和最小值的方法可能不使用Java中的任何内置排序方法。也就是说,您需要在这些方法中编写适当的逻辑。

注意:对于这个任务和所有涉及方法的未来任务,您应该调用适当的方法来完成指定的任务,而不是在主方法本身中实现任务逻辑。"

具体来说,我在将getMin和getMax方法中的int数组转换为main方法中的双数组时遇到了问题。

package minmax;
import java.util.Scanner;

public class MinMax {

    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        double[] userVals = new double[5];
        double userNumbers;

        System.out.print("Enter 5 numbers: ");
        userNumbers = scnr.nextDouble();

        System.out.print("Minimum number: ");

    }

    public static int getMin(int[] array) {
        int minNum = array[0];

        for (int i = 0; i < array.length; ++i) {
            if (array[i] < minNum) {
                minNum = array[i];
            }
        }
        return minNum;
    }

    public static int getMax(int[] array) {
        int maxNum = array[0];

        for (int i = 0; i < array.length; ++i) {
            if (array[i] > maxNum) {
                maxNum = array[i];
            }
        }
        return maxNum;
    }

}

我试图打印出最小和最大的5个用户号码。我知道我的代码在主方法中是不完整的,但那是因为不知道如何将int数组转换为双数组。


共1个答案

匿名用户

总结一下:

 public static void main(String[] args) {
    Scanner scnr = new Scanner(System.in);
    double[] userVals = new double[5];

    System.out.print("Enter 5 numbers: ");
    for(int i=0;i< 5;i++){
        userVals[i]= scnr.nextDouble();
    }

    System.out.print("Minimum number: "+ getMin(userVals));

}

 public static double getMin(double[] array) {
    double minNum = array[0];

    for (int i = 0; i < array.length; ++i) {
        if (array[i] < minNum) {
            minNum = array[i];
        }
    }
    return minNum;
}