2017-02-10 180 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]); 
    } 
} 

打印輸出很容易

相關問題