查找输入的10个数字中的最高和最低

时间:2016-01-20 15:33:08

标签: java

我最近在课堂上制作了一段代码,但我无法理解我的真实所作所为。我的逻辑有问题,因为我无法理解Double.MIN_VALUE和Double.MAX_VALUE。

import java.util.Scanner;
public class Exer32_HighestLowest
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        double highest =Double.MIN_VALUE;
        double lowest =Double.MAX_VALUE;
        double num= 0;
        for(int i=0; i<10; i++)
        {
            System.out.println("Enter your score");
            num = sc.nextDouble();
            if (num > highest)
            {
                highest = num;
            }
            if(num < lowest)
            {
                lowest = num;
            }
        }
        System.out.println("The Highest Score is: "+highest);
        System.out.println("The Lowest Score is: "+lowest);
    }
}

2 个答案:

答案 0 :(得分:0)

Double.MIN_VALUE: 一个常量,保持double类型的最小正非零值。

Double.MAX_VALUE: 一个常量,保持double类型的最大正有限值。

您可以在此处查看详细信息:https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html

答案 1 :(得分:-1)

对于double highest = Double.MIN_VALUE;,请使用-Double.MAX_VALUE。注意' - '符号。

并且:

if (num > highest)
        {
            highest = num;
        }

使用:

highest = Math.max(highest, num)
lowest = Math.min(lowest, num)