我这个怎么也没有搞出来请帮帮忙!算法是我的最大弱点!我现在正在搞这个真的好头通
我知道是我的三个数交换那里出的问题该怎么该咯!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class li{
  public static void main(String args[]) {
    String s = " ";
    int n[] = new int[10];
    int i;
    int min = 0;
    int t;
    for (i = 0; i < n.length; i++) {
      s = JOptionPane.showInputDialog("请输入" + (i + 1) + "个数");
      n[i] = Integer.parseInt(s);
    }
for(i=0;i<n.length ;i++){
     min=n[0];
        if(n[i]<min)
          min=n[i];
          t=min;
          n[i]=t;
         
          System.out.println(); 
      }
  } 
}

解决方案 »

  1.   

    ///////////////////import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class li{
      public static void main(String args[]) {
        String s = " ";
        int n[] = new int[10];
        int i;
        int min = 0;
        int t;
        for (i = 0; i < n.length; i++) {
          s = JOptionPane.showInputDialog("请输入" + (i + 1) + "个数");
          n[i] = Integer.parseInt(s);
        }
    for(i=1;i<n.length-1 ;i++){
         for(int j=0;j<n.length-i;j++) {
           int temp ;
           if(n[j]>n[j+1]){
             temp = n[j];
             n[j] = n[j+1];
             n[j+1] =temp;
           }
         }
       }
      } 
    /////////////////////基础要打好啊
      

  2.   


    import java.security.InvalidParameterException;public class Sort {
    public final static int NON_DESCENDING = 0; public final static int NON_ASCENDING = 1; private static boolean cmp(int i, int j, int type) {
    if (type == NON_DESCENDING)
    return i > j;
    if (type == NON_ASCENDING)
    return i < j;
    throw new InvalidParameterException(); } private static void swap(int[] a, int i, int j) {
    int temp = a[i];
    a[i] = a[j];
    a[j] = temp;
    } public static void chooseSort(int[] array) {
    for (int i = 0; i < array.length - 1; i++) {
    for (int j = i + 1; j < array.length; j++) {
    if (cmp(array[i], array[j], NON_DESCENDING)) {
    swap(array, i, j);
    }
    }
    }
    } public static void main(String[] args) {
    int[] test = new int[] { 43, 23, 1, 42, 3, 1, 4, 3, 2, 4, 2, 3, 4, 2,
    1, 4, 2, 3, 4, 3 };
    Sort.chooseSort(test);
    show(test);
    } public static void show(int[] a) {
    for (int i = 0; i < a.length; i++) {
    System.out.print(a[i] + " ");
    } }}
      

  3.   

    请大家看看我自己写的这个怎么样是不是好懂点!import javax.swing.*;
    public class li{
      public static void main(String args[]) {
        String s = " ";
        int i = 0, j = 0, t = 0;
        int n[] = new int[10];
        for (i = 0; i < n.length; i++) {
          s = JOptionPane.showInputDialog("请输入第" + (i + 1) + "个数");
          n[i] = Integer.parseInt(s);
        }
        for (i = 0; i < n.length; i++) {
          for (j = i; j < n.length; j++) {
           if(n[i]>n[j]){
             t=n[i];
             n[i]=n[j];
             n[j]=t;
           }
          }
        System.out.println(n[i]); 
        }
      }
      
    }
      

  4.   

    To:kunzhong(昆仲) 你写的算法是冒泡排序,不是选择排序,
    选择排序如下:
    public class Sort{
    public static void main(String args[]){
    int[] array ={4,1,15,34,24};
            int i,j,k;
    for(i = 0;i < array.length-1;i++){
    k = i;
    for(j = i+1;j< array.length;j++)
    {
    if(array[j] < array[i])
            k = j;
    }
    if(k != i){
    int temp = array[k];
    array[k] = array[i];
    array[i] = temp;
    }

    for(int m = 0;m < array.length;m++)
        System.out.print("\t"+array[m]);
    }
    }
    调试通过!
    另冒泡排序中加入一个判断是否已经排好序的boolean 型变量.
    若已排好序,设为true,退出循环,提高效率.
      

  5.   

    lyf040230427(枫叶) 说的有道理.