2017-02-10 11 views
0

Например, если пользователь ввести аргумент командной строки:Как получить среднее число из трех входов в Java?

ява программа 9 1 3,3

Что формула бы использовать для программы, чтобы положить его в порядок и распечатать: 3.3 находится между 1 и 9

Мне нужны три формулы, но что конкретно они будут?

+0

Вы должны смотреть в алгоритмах сортировки ... –

+0

Вы можете использовать «Quicksort», эффективный алгоритм сортировки в ... – Palani

+0

You не нужно ничего сложного, как quicksort, сортировать 3 числа. – khelwood

ответ

0

Вы можете преобразовать 3 аргументов args в числовой массив и сортировать его.

public static void main(String[] args) { 
    double[] numbers = new double[3]; 
    for (int i = 0; i < 3; i++) { 
     numbers[i] = Double.parseDouble(args[i]); 
    } 
    Arrays.sort(numbers); 
    ... 
} 

Основное различие между этим раствором и от предусмотренного Джек Flamp является порядок сортировки: сортировка числовой следует использовать числовой порядок вместо лексикографическом порядке (алфавитном порядке).

UPDATE: Тем не менее, когда строка превращается в два раза, мы теряем свое точное представление: 1, 1.0, 1.00 различны в строке, но все-таки в два раза. Для того, чтобы предотвратить эту ситуацию, вы можете сделать преобразование только для сортировки:

public static void main(String[] args) { 
    Arrays.sort(args, new Comparator<String>() { 
     @Override 
     public int compare(String s1, String s2) { 
      double d1 = Double.parseDouble(s1); 
      double d2 = Double.parseDouble(s2); 
      return Double.compare(d1, d2); 
     } 
    }); 
    ... 
} 
0

Он попытался это для сортировки арг с минимальным кодом и он работает:

public static void main(String[] args) { 
    Arrays.sort(args); 
    for (int i = 0; i < args.length; i++) { 
     System.out.println(args[i]); 
    } 
} 

распечатка легко

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

  • Нет связанных вопросов^_^