Java 我正试图找到最小的号码,但我一直在得到最大的一些帮助,他?

Java 我正试图找到最小的号码,但我一直在得到最大的一些帮助,他?,java,Java,这是我的密码: import java.util.Scanner; import java.util.Arrays; import java.text.*; public class p171ex6a{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int numk; numk = scan.nextInt();

这是我的密码:

import java.util.Scanner;
import java.util.Arrays;
import java.text.*;

public class p171ex6a{

    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);

        int numk;
        numk = scan.nextInt();
        double num;
        double [] max = new double[numk];

        for (int in=0;in<numk;in++) {
            num = scan.nextDouble();        
            max [in]= num;
        }

        DecimalFormat df = new DecimalFormat("0.0000"); 
        Arrays.sort(max);   
        System.out.println(df.format(max[max.length-1]));
    }    
}

如果您试图找到最小数目,您应该打印出数组的第一个元素,而不是最后一个。。。因为数组是按升序排序的

数组名称在这里是一个奇怪的名称-类似值的名称更合适。我还将在第一次使用时声明变量:

Scanner scanner = new Scanner(System.in);
int valueCount = scanner.nextInt();
double[] values = new double[valueCount];

for (int i = 0; i < valueCount; i++)
{
    values[i] = scanner.nextDouble();
}

Arrays.sort(values);

DecimalFormat formatter = new DecimalFormat("0.0000");
System.out.println(formatter.format(values[0]));

排名第一的堆栈溢出用户刚刚回答了您的问题!很酷吧+1.一如既往:
Scanner scanner = new Scanner(System.in);
int valueCount = scanner.nextInt();
double[] values = new double[valueCount];

for (int i = 0; i < valueCount; i++)
{
    values[i] = scanner.nextDouble();
}

Arrays.sort(values);

DecimalFormat formatter = new DecimalFormat("0.0000");
System.out.println(formatter.format(values[0]));