2012-01-16 5 views
0

Вот мой код:Я пытаюсь найти минимальное число, но я продолжаю получать максимальную помощь.

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])); 
    }  
} 
+0

Номер 1, оцененный пользователем в переполнении стека, ответил на ваш вопрос! Довольно круто, а? :) – Almo

ответ

8

Если вы пытаетесь найти номер минимум вы должны распечатав первый элемент массива, а не последний один ... потому что массив отсортирован по по возрастанию заказ.

System.out.println(df.format(max[0])); 

Имя массива является нечетным один здесь - что-то вроде values было бы более уместным. Я также объявляю переменные в точке первого использования:

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])); 
+0

+1 Великолепно, как всегда :) –

Смежные вопросы