
package hellojava;
public class paixu {
public static void main(String[] args) {//冒泡排序
int a[]= {1,32,23,58,3};
for(int i=1;i<a.length;i++) { //i=1循環次數減少一次
for(int j=0;j<a.length-i;j++) {
if(a[j]<a[j+1]) {
int b =a[j+1];
a[j+1]=b;
}
}
}
System.out.println("冒泡排序為:");
for(int b:a) {
System.out.print(b+" ");
}
}
}
求各位大神指點一下這個代碼哪里不對,拜謝!
uj5u.com熱心網友回復:
把if(a[j]<a[j+1]) {
int b=a[j+1];
a[j+1]=b;
}
改成
if(a[j]<a[j+1]) {//交換a[j]和a[j+1]
int b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
uj5u.com熱心網友回復:
你應該看漏了吧
int b=a[j+1];
a[j+1]=b;
這個就根本沒交換啊!
uj5u.com熱心網友回復:
感謝大神問題已經解決
uj5u.com熱心網友回復:
少寫了 a[j]=a[j+1];
uj5u.com熱心網友回復:
初學可以用System.out.print在指定的位置列印你想看的變數的值。之后了解一下debug,那個更方便。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/76099.html
標籤:Java SE
上一篇:jdk安裝包安裝不了
下一篇:介面 類 抽象類
