【问题标题】:Finding minimum/maximum of arrays using a double array and user input使用双精度数组和用户输入查找数组的最小值/最大值
【发布时间】:2020-03-07 13:28:12
【问题描述】:

这是作业的具体要求:

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

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

注意:对于本次分配和未来所有处理方法的分配,您应该调用适当的方法来完成指定的任务,而不是在主方法本身中实现任务逻辑。”

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

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个用户号码。我知道我的代码在 main 方法中是不完整的,但那是由于不知道如何将 int 数组转换为 double 数组。

【问题讨论】:

  • 为什么不在getMingetMax函数中使用双精度数组呢?您提供的赋值文本不要求 int 数组。
  • 在我意识到我从未将修饰符从 int 更改为 double 之后,我更改了它。我不断收到“有损”错误。所以解决了,谢谢。但现在我的输出结果为零。
  • 您从未真正将数据放入您的userVals 数组中。执行for(int i = 0; i &lt; 5; i++) userVals[i] = scnr.nextDouble(); 之类的操作,并可能添加您的输出,以便用户知道他必须输入数字。
  • 这能回答你的问题吗? Java Minimum and Maximum values in Array
  • 不幸的是,它没有。分配需要一个双精度数组,如果我尝试将整数与双精度数混合,我会不断出错。我不知道是我没有正确编写代码,还是我需要以某种方式转换。但我知道我知道的还不够多。

标签: java netbeans


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 2016-07-24
    • 1970-01-01
    • 2021-08-30
    • 2021-09-15
    • 2018-07-09
    • 2019-01-14
    • 2021-06-17
    • 2010-09-18
    • 2020-07-10
    相关资源
    最近更新 更多