当前位置: 首页 > 知识库问答 >
问题:

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

邵修诚
2023-03-14

以下是任务的具体要求:

“首先,启动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个答案

奚无尘
2023-03-14

总结一下:

 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;
}
 类似资料:
  • 主要内容:普通算法,分治算法程序中,我们经常使用数组(列表)存储给定的线性序列(例如 {1,2,3,4}),那么如何查找数组(序列)中的最大值或者最小值呢? 查找数组(序列)中最大值或最小值的算法有很多,接下来我们以 {3,7,2,1} 序列为例讲解两种查找最值的算法,一种是普通算法,另一种是借助 分治算法解决。 普通算法 普通算法的解决思路是:创建两个变量 max 和 min 分别记录数组中的最大值和最小值,它们的初始值都

  • 使用while循环,我必须执行以下操作: 使用变量“I”,计算输入的整数数量;使用变量“number”,表示输入的数字;使用变量“min”,表示迄今为止输入的最小数字;使用变量“max”,表示迄今为止输入的最大数字 用户将总共输入5个整数。 这是我的代码: 当我运行这个时,“I”、“number”和“maximum”变量似乎都能正常工作。但是,“minimum”变量要记住,“minimum”的设置

  • 解决了 我想问用户他想输入多少个整数,然后读取所有数字,同时跟踪他们输入的最大和最小数字。然后打印最大和最小数字。 我正在考虑将最大值和最小值设置为第一个输入的数字,然后在for循环中读取下一个数字,并使用更大/更小的数字更改最大值和最低值。但是,它只打印用户输入的第一个数字。有人能帮我吗?非常感谢。 代码:

  • 问题内容: 我很难找出例如如何从列表中查找分钟 如何通过定义()函数来查找此列表的最小值和最大值 我不想使用内置功能 问题答案: 如果要手动查找最小值作为函数: Python 3.4引入了该软件包,该软件包提供了其他统计信息:

  • 给定一个非负整数数组,设计最简单的算法来找到最大大小的子数组,并将其加到最小的值。 我的想法是,因为它们是非负整数,所以和最小的数组总是单个单元数组,只有原始数组的最小值。如果我理解正确的话,它取决于什么具有更高的优先级,具有更高的长度或更小的值。然而,这个问题从来没有明确说明哪一个优先。 我在这个问题上是正确的,还是我遗漏了什么?

  • 问题内容: 对于需要解决的问题之一,我使用for循环找到了数组的最大值,因此我尝试使用递归找到它,这就是我想出的: 因此它可以正常工作并获取最大值,但是我的问题是:对于基本情况,返回a [head]以及对于在开头处的值大于最后一个值的情况,可以吗? 问题答案: 您只需一个计数器即可轻松完成此操作,只需使用您这次想要比较的值的索引即可: 这样可以更好地显示正在发生的情况,并使用默认的“递归”布局,例