2011-07-31 28 views
-3
public class Sort { 

/** 
* @param args 
*/ 
public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    int num[] = { -1, 11, 3, 34, 5, 99, 10 }; 
    int length = num.length; 
    int temp = 0; 
    int jj; 
    String printinstring =""; 
    for (int i = 0; i < length; i++) { 
     for (int j =1; j < length; j++) { 
      if (num[j-1] > num[j]) { 
       temp = num[j-1]; 
       num[j-1]=num[j]; 
       num[j]=temp; 
      } 

     } 




    } 
    for (int i = 0; i < length; i++) { 
     System.out.println(num[i]); 
     printinstring=printinstring+Integer.toString(num[i]); 

    } 

    System.out.println(printinstring); 
} 
} 

的出賣出期權如何排序在Java數組轉換爲字符串

-1 
3 
5 
10 
11 
34 
99 
-13510113499 

如果我們改變< 再出放爲99 ---

回答

1

已經有一個預定義庫功能sort,不需要寫一個。

0

我覺得你的問題是在這裏:

for (int i = 0; i < length; i++) { 
    System.out.println(num[i]); 
    printinstring=printinstring+Integer.toString(num[i]); 

} 

應該是:

for (int i = 0; i < length; i++) { 
    if (i > 0) { 
     printinstring = printinstring + " "; 
    } 
    printinstring = printinstring + Integer.toString(num[i]); 
} 

或更簡潔

for (int i = 0; i < length; i++) { 
    if (i > 0) { 
     printinstring += " "; 
    } 
    printinstring += num[i]; 
} 

甚至

for (int i = 0; i < length; i++) { 
    printinstring += ((i > 0) ? " " : "") + num[i]; 
} 

但@Mahesh是對的。沒有必要實施自己的排序。使用現有的庫方法。

相關問題