日期:2014-05-19  浏览次数:20725 次

为什么我输出的第四个数不是23,
package TestFile;

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

public class YsF {

/**
* @param args
*/

public static void main(String[] args) {

ArrayList list = new ArrayList();
YsF yes = new YsF();
list = yes.t(list);
yes.tt(list);
}

public ArrayList removeList(ArrayList list, int index) {

ArrayList myList = list;

for (int i = index; i >= 0; i--) {
myList.remove(i);// 移除13前面的12个元素

}
// System.out.print("判断删除后的数组列表:" + myList);
for (int j = 1; j < index; j++) {
myList.add(j);// 把13前面的12个元素在添加进去
}

return myList;
}

private ArrayList t(ArrayList list3) {
int i = 0;

for (i = 0; i < 30; i++) {
list3.add(i+1);// 添加的元素值30个值分别为红球和黑球
}
return list3;
}


public void tt(ArrayList list) {
ArrayList list2 = new ArrayList();
int count = 0;// 统计15个红球的个数
int i = 0;//i为下标
YsF yes = new YsF();
// 我想用removeList返回的mylist列表来调用这个循环怎么办,看看
for (i = 0; i < 30; i++) {
if (i == 12) {
System.out.println(list.remove(i));// i-1是元素的下标,移除了13这个元素
count++;
list2 = yes.removeList(list, i - 1);// 调用removeList函数重新组合列表

yes.tt(list2);
if (count == 15)
break;
}
}
}
}


------解决方案--------------------
真没看懂,第一什么需求,第二那里出问题了。。