2017-02-10 41 views
0

例如,如果用户要键入命令行参数:如何从Java的三个输入中获取中间数字?

java程序9 1 3.3

我将使用什么公式程序把它在顺序并打印出:3.3在1和9之间

我需要三个公式,但他们具体是什么?

+0

你应该看看在排序算法... –

+0

您可以使用“快速排序”,一个高效的排序算法... – Palani

+0

你不需要像快速排序那样复杂的任何事情来排序3个数字。 – khelwood

回答

0

可以args转换3个参数为数字阵列和排序。

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); 
    ... 
} 

该溶液和由Jack Flamp提供的所述一个之间的主要差别是排序顺序:排序数字应该使用数字顺序代替字典顺序(字母表顺序)。

UPDATE:然而,当字符串转换为双,我们失去了其确切的表示:11.01.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]); 
    } 
} 

打印输出很容易

相关问题