我嘗試進行冒泡排序,但仍然是初學者,我沒有發現任何錯誤,但是當我嘗試按字母順序對其進行排序時,它沒有對陣列進行排序。
public class Main {
public static void bubblesort ( String [] name) {
String tempmemory = " na";
for (int i = 0; i < name.length; i ) {
for (int j = 0; j < (name.length - 1); j ) {
if (name[j].compareTo(name[j 1]) < 0)
tempmemory = name[j];
name[j] = name[j 1];
name[j 1] = tempmemory;
}
}
}
public static void main ( String [] args) {
String [] name = { "ciku", "eman","aina"} ;
int i=0;
System.out.println(" Before sort : ");
while (i < name.length)
{
System.out.print ( name[i] " ");
i ;
}
bubblesort(name);
i=0;
System.out.println(" \n After sort : ");
while (i < name.length)
{
System.out.print ( name[i] " ");
i ;
}
}
}
如何修復此代碼以使用冒泡排序對陣列進行正確排序?
uj5u.com熱心網友回復:
您的 if 條件應該包括這 3 個陳述句,現在它下面只有一個陳述句,即 tempmemory = name[j];。因此,如果條件有多個陳述句,請使用 {} 括號。所以寫這樣的 if 陳述句:
if (name[j].compareTo(name[j 1]) < 0) {
tempmemory = name[j];
name[j] = name[j 1];
name[j 1] = tempmemory;
}
uj5u.com熱心網友回復:
這塊代碼:
if (name[j].compareTo(name[j 1]) < 0)
tempmemory = name[j];
name[j] = name[j 1];
name[j 1] = tempmemory;
是明顯錯誤的。
提示:使用{并}修復它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/343572.html
上一篇:如何在R中創建字串組合
下一篇:在Rust中構建新字串的有效方法
