2012-01-28 61 views
0

您好我有一個冒泡排序方法,它接受我的字符串數組並對它們進行排序。不過,我希望排序的字符串被輸入到另一個數組中,以便原始未排序的數組可以用於其他事情。任何人都可以幫助我或引導我朝着正確的方向發展嗎?由於輸出氣泡排序結果到java中的數組

新的數組,其中我想用來存儲串被稱爲myArray2 我的繼承人冒泡排序的代碼

public static void sortStringBubble(String x [ ]) 
{ 
     int j; 
     boolean flag = true; 
     String temp; 

     while (flag) 
     { 
      flag = false; 
      for (j = 0; j < x.length - 1; j++) 
      { 
        if (x [ j ].compareToIgnoreCase(x [ j+1 ]) > 0) 
        {            
           temp = x [ j ]; 
           x [ j ] = x [ j+1];  
           x [ j+1] = temp; 
           flag = true; 

        } 
      } 
     } 
} 
+0

爲什麼不使用'System.arraycopy()'並排序該數組。 – RanRag 2012-01-28 22:42:11

回答

0

讓你的方法返回一個String [],而不是無效的。

public static String[] sortStringBubble(String x [ ]) 
    String[] copy = new String[x.length]; 
    System.arraycopy(x, 0, copy, 0, x.length); 

    // do everything on the copy 

    return copy; 
} 
+0

我試過,但原始數組仍然得到排序 – jj007 2012-01-28 22:55:03

+0

對不起,它確實工作,但我不能讓它打印在我的JList對象被稱爲打印。我嘗試調用一個新的JList打印(副本),但它並沒有工作 – jj007 2012-01-28 23:09:46

+0

@ jj007:它適用於'JList'.Here是我嘗試的方式'String [] temp = t.sortStringBubble(x);'比'JList list =新的JList(temp)'。這裏't'是'sortStringBubble'所在類的對象。 – RanRag 2012-01-28 23:24:05

1

不確定 1)改變方法簽名是字符串[]

public static String[] sortStringBubble(String[] input ) { 

2)添加一個新的字符串[]×

String[] x = (String[])input.clone(); 

3)添加一個返回X在底部

return x; 
+0

我試過了,但原始數組仍然得到排序 – jj007 2012-01-28 22:53:46

+0

對不起,但它無法正常工作,但我不能讓它打印在我稱爲print的JList對象中。我試圖調用一個新的JList打印(x),但它沒有工作 – jj007 2012-01-28 23:10:05

+1

Nver介意我修復它,感謝您的幫助 – jj007 2012-01-28 23:29:00