我最近在课堂上制作了一段代码,但我无法理解我的真实所作所为。我的逻辑有问题,因为我无法理解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);
}
}
答案 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)