定义一个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);哪有这样乱七八糟赋值的