日期:2014-05-20  浏览次数:20654 次

定义一个ArrayList集合,然后将集合中的元素进行排序
定义一个ArrayList集合,然后将集合中的元素进行排序(排序方法使用冒泡)


package 课后作业;

import java.awt.List;
import java.util.ArrayList;

import com.sun.java_cup.internal.internal_error;
import com.sun.java_cup.internal.parse_action;

public class demo1 {
public static void main(String[] args) {
ArrayList lst=new ArrayList();
lst.add(4);
lst.add(8);
lst.add(6);
lst.add(7);
for (int i = 0; i < lst.size(); i++) 
{
for (int j = i+1; j < lst.size(); j++) 
{

if((Integer)lst.get(i)>(Integer)lst.get(j))
{
int c=(Integer)lst.get(i);
(Integer)lst.get(i)=(Integer)lst.get(j);//这段报错了不能交换
(Integer)lst.get(j)=c;//这段报错了不能交换 怎么改啊?
}
}

}
for (int i = 0; i < lst.size(); i++) {
System.out.println(lst.get(i));
}
}

}


------解决方案--------------------
列表不是你这么操作的

Java code
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList lst=new ArrayList();
        lst.add(4);
        lst.add(8);
        lst.add(6);
        lst.add(7);
        for (int i = 0; i < lst.size(); i++) {
            for (int j = i+1; j < lst.size(); j++) {
                if((Integer)lst.get(i)>(Integer)lst.get(j)) {
                    Integer c = (Integer)lst.get(i);
                    Integer c1 = (Integer) lst.get(j);
                    lst.remove(i);
                    lst.add(i, c1);
                    lst.remove(j);
                    lst.add(j, c);
                }
            }
        }
        for (int i = 0; i < lst.size(); i++) {
            System.out.println(lst.get(i));
        }
    
    }

------解决方案--------------------
不是交换,是赋值
int c=(Integer)lst.get(i);你这句赋值就没问题啊
下面的Integer)lst.get(i)=(Integer)lst.get(j);哪有这样乱七八糟赋值的