int i1 = 40;
int i2 = 20;
int i3 = 10;
int i4 = 30;要求排序好后打印出 i3,i2,i4,i1;ps:不是冒泡排序后打印出 10,20,30,40哈  不然也不能发个帖子请教了 呵呵

解决方案 »

  1.   

    自己用很笨的方法写了一个  但是总觉得有更好 更有效率的方法
    import java.util.ArrayList;
    import java.util.List;public class SortTest {

    static List fList = new ArrayList();

    static int i1 = 40;
    static int i2 = 20;
    static int i3 = 10;
    static int i4 = 30;

    static String s1 = "i1";
    static String s2 = "i2";
    static String s3 = "i3";
    static String s4 = "i4"; public static void main(String args[]) {
    int i, j;
    int intArray[] = {i1, i2, i3, i4};
    int l = intArray.length;
    for (i = l - 1; i > 0; i--){

    for (j = 0; j < i; j++){

    if (intArray[j] > intArray[j + 1]) {
    int t = intArray[j];
    intArray[j] = intArray[j + 1];
    intArray[j + 1] = t;
    }
    }
    }

    for (i = 0; i < l; i++){ if(intArray[i] == i1){
    fList.add(s1);
    }
    if(intArray[i] == i2){
    fList.add(s2);
    }
    if(intArray[i] == i3){
    fList.add(s3);
    }
    if(intArray[i] == i4){
    fList.add(s4);
    }
    }

    for(int m = 0; m < fList.size(); m++){

    System.out.println("o = " + fList.get(m));
    }
    }
    }
      

  2.   

    import java.util.*;class test {
    public static void main(String[] args) {
    List<String> list = new ArrayList<String>();//这里要使用泛型,要养成良好的编程习惯
    list.add("b");
    list.add("a");
    list.add("14");
    list.add("c");
    list.add("12");
    list.add("13");
    Collections.sort(list);//这个排序方法是从小大到,由于数字都是小于字母的(a是97,a>任何单个数字),所以数字在前for(String data: list) {
    System.out.println(data);
    }
    }

    用list的方法排序最方便。其他的都需要自己来写算法
      

  3.   

    int i1 = 40;
    int i2 = 20;
    int i3 = 10;
    int i4 = 30; List list = new ArrayList();
    list.add(i4);
    list.add(i3);
    list.add(i1);
    list.add(i2); 
    Collections.sort(list);
    System.out.println(list);
      

  4.   

    我把这段代码拷贝到Eclipse运行,它会打印出4个数,但我我把最后的那个循环的i<1改成i<4时,它也是打印出4个数,然我我在把它改成1,就只打印出一个数了,这是为什么
      

  5.   

    刚才写了一个,应该能够符合你的要求:代码如下
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Enumeration;
    import java.util.Hashtable;
    import java.util.List;
    public class  SortedKeys{
    public static void main(String[] args) {
    ArrayList<Integer> result = new ArrayList<Integer>();
    ArrayList<String> keys = new ArrayList<String>();
    Hashtable<String,Integer> store = new Hashtable<String,Integer>();
    store.put("i1", 40);
    store.put("i2", 20);
    store.put("i3", 10);
    store.put("i4", 30);
    //获取值,并存储到ArrayList对象中
    Enumeration<Integer> num = store.elements();
    while(num.hasMoreElements())
    {
    result.add(num.nextElement());
    }
    //对ArrayList对象,进行升序排列
    Collections.sort((List<Integer>)result);
    //获取键值,并存储到数组中
    Enumeration<String> key =  store.keys();
    String [] keyNum = new String[result.size()];
    int i = 0;
    while(key.hasMoreElements())
    {
    keyNum[i++] = key.nextElement();
    }

    for(Integer s:result)
    {
    for(int j = 0;j < i;j++)
    {
    if(store.get(keyNum[j]).equals(s))
    {
    keys.add(keyNum[j]);
    }
    }
    }
    System.out.println(keys);
    }}
      

  6.   

    API中 本身就有相应的排序方法
    楼主应该想到去API中查查