有人可以幫忙看看
明明寫的是遞增排序
為什麼執行出來的結果會變成遞減呢??
//PA#3:7-18,試設計一個Calculator類別,並完成下列各個Method程式設計。
import java.io.*;
class Calculator {
int a,b,c,d,e;
int[] array = new int[5];
int[] sort(){
int temp= 0;
for(int i = 0;i <array.length;i++){
for(int j =0;j<array.length;j++){
if(array[i] > array[j]){
temp = array[i];
array[i] = array[j];
array[j] =temp;
}
}
}
return array;
}
}
public class s4111616 {
public static void main(String args[]) throws IOException {
int choose=0; Calculator cal;
cal = new Calculator(); //用new產生一個新物件,並讓cal指向他
System.out.print("\n請輸入1~10: "); choose=input();
while((choose>=1) && (choose<=10)) {
if (choose==9) {
System.out.print("\n請輸入 a: ");
cal.array[0] = input(); //用輸入函數來輸入a、b、c、d、e
System.out.print("\n請輸入 b: ");
cal.array[1] = input();
System.out.print("\n請輸入 c: ");
cal.array[2] = input();
System.out.print("\n請輸入 d: ");
cal.array[3] = input();
System.out.print("\n請輸入 e: ");
cal.array[4] = input();
System.out.print("\n sort(a,b,c,d,e) =");
cal.sort();
for(int i=0;i<5;i++) System.out.print(cal.array[i]); //印出函數值
}
}
public static int input() throws IOException //輸入函數
{
int i;
String str;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
str=buf.readLine();
i=Integer.parseInt(str);
return i;
}
}
有人可以幫忙看看
明明寫的是遞增排序
為什麼執行出來的結果會變成遞減呢??
//PA#3:7-18,試設計一個Calculator類別,並完成下列各個Method程式設計。import java.io.*;class Calculator { int a,b,c,d,e; int[] array = new int[5]; int[] sort(){ int temp= 0; for(int i = 0;i <array.length;i++){ for(int j =0;j<array.length;j++){ if(array[i] > array[j]){ temp = array[i]; array[i] = array[j]; array[j] =temp; } } } return array; }}
public class s4111616 { public static void main(String args[]) throws IOException { int choose=0; Calculator cal; cal = new Calculator(); //用new產生一個新物件,並讓cal指向他 System.out.print("\n請輸入1~10: "); choose=input(); while((choose>=1) && (choose<=10)) { if (choose==9) { System.out.print("\n請輸入 a: "); cal.array[0] = input(); //用輸入函數來輸入a、b、c、d、e System.out.print("\n請輸入 b: "); cal.array[1] = input(); System.out.print("\n請輸入 c: "); cal.array[2] = input(); System.out.print("\n請輸入 d: "); cal.array[3] = input(); System.out.print("\n請輸入 e: "); cal.array[4] = input(); System.out.print("\n sort(a,b,c,d,e) ="); cal.sort(); for(int i=0;i<5;i++) System.out.print(cal.array[i]); //印出函數值 } } public static int input() throws IOException //輸入函數 { int i; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); str=buf.readLine(); i=Integer.parseInt(str); return i; }}
稍微看了一下
你用的是氣泡排序吧!
前面如果比後面大就交換
當然前面的比較小..XD
有人可以幫忙看看
明明寫的是遞增排序
為什麼執行出來的結果會變成遞減呢??
//PA#3:7-18,試設計一個Calculator類別,並完成下列各個Method程式設計。import java.io.*;class Calculator { int a,b,c,d,e; int[] array = new int[5]; int[] sort(){ int temp= 0; for(int i = 0;i <array.length;i++){ for(int j =0;j<array.length;j++){ if(array[i] > array[j]){ temp = array[i]; array[i] = array[j]; array[j] =temp; } } } return array; }}
public class s4111616 { public static void main(String args[]) throws IOException { int choose=0; Calculator cal; cal = new Calculator(); //用new產生一個新物件,並讓cal指向他 System.out.print("\n請輸入1~10: "); choose=input(); while((choose>=1) && (choose<=10)) { if (choose==9) { System.out.print("\n請輸入 a: "); cal.array[0] = input(); //用輸入函數來輸入a、b、c、d、e System.out.print("\n請輸入 b: "); cal.array[1] = input(); System.out.print("\n請輸入 c: "); cal.array[2] = input(); System.out.print("\n請輸入 d: "); cal.array[3] = input(); System.out.print("\n請輸入 e: "); cal.array[4] = input(); System.out.print("\n sort(a,b,c,d,e) ="); cal.sort(); for(int i=0;i<5;i++) System.out.print(cal.array[i]); //印出函數值 } } public static int input() throws IOException //輸入函數 { int i; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); str=buf.readLine(); i=Integer.parseInt(str); return i; }}
<font color=red>不好意思...我看錯了XD</font>