class MyList{
private Object[] data;
private int index=0;
public MyList(int size){
data=new Object[size];
}
private void expand(){
Object[] data2=new Object[data.length*2];
System.arraycopy(data,0,data2,0,data.length);
data=data2;
}
public void add(Object o){
if (data.length==index) expand();
data[index]=o;
index++;
}
public void add(int pos,Object o){
if (data.length==index) expand();
for(int i=index;i>pos;i--){
data[i]=data[i-1];
}
data[pos]=o;
index++;
}
public void change(int pos,Object o){
data[pos]=o;
}
public Object remove(int pos){
Object o=data[pos];
index--;
for(int i=pos;i<index;i++){
data[i]=data[i+1];
}
return o;
}
public int size(){
return index;
}
public Object get(int pos){
return data[pos];
}
public void clear(){
index=0;
}
public boolean isEmpty(){
return index==0;
}
public Object[] toArray(){
return data;
}
}
public class ListTest {
private static MyList list ;
/*
* 判断内存是否存在
*/
public static boolean findMemory(int a){
String s=Integer.toString(a);
for(int i=0;i<list.size();i++){
Object o=list.get(i);
if (o.equals(s)){ [color=red]//内容判断根本不对,不知道错在哪里?一直都是不相等,怎么判断能相等?[/color]
return true;
}
}
return false;
}
public static void disPlay(){
for(int i=list.size()-1;i>=0;i-- ){
Object o=list.get(i);
System.out.println(i+" "+o);
}
}
public static void main(String[] args) throws IOException {
/*
* 创建内存
*/
System.out.print("输入内存块数>");
int memory_i=Util.keyReadInt();
list=new MyList(memory_i);
for(int i=0;i<memory_i;i++){
list.add("null");
}
// disPlay();
list.change(2, 2);
System.out.println("========");
// disPlay();
System.out.println(findMemory(2)); [color=red][color=darkred]//返回值始终是假,怎么一直没找到?[/color][/color]
}
}
[b]问题补充:[/b]
lovewhzlq 你说的方法我也试了,不转的话也不行啊?
为什么啊?怎么改?