我是想往数组b中插入一个数据,结果数据插入进去了,可原数组的数据都变成零了,难道是我传值不对?
代码如下,求指导:
package sequence;public class SeqList {
int data [];
int maxSize=10;
int length;
public SeqList(){
data=new int[maxSize];
length=0;
}
public SeqList(int a[]){
data=new int [maxSize];
data=a;
length=a.length;
}
public void DispList(){
for(int i=0;i<length;i++){
System.out.print(data[i]+",");
}
System.out.println("\n"+"线性表的长度"+length);
}
public String insert(int i,int value){
// i表示数据插入的位置,k表示插入的数据
data=new int [maxSize];
if(length==maxSize||i<1||i>length+1){
return "插入错误";
}else if(i<=length){
for(int j=length-1;j>=i-1;j--){
data[j+1]=data[j];
}
data[i-1]=value;
length++;
}
return "插入成功";
}
public static void main(String[] args) {
int b[]={1,2,3,5,4};
SeqList s=new SeqList(b);
s.insert(2, 6);
s.DispList();
}
}
执行结果:
0,6,0,0,0,0,
线性表的长度6
代码如下,求指导:
package sequence;public class SeqList {
int data [];
int maxSize=10;
int length;
public SeqList(){
data=new int[maxSize];
length=0;
}
public SeqList(int a[]){
data=new int [maxSize];
data=a;
length=a.length;
}
public void DispList(){
for(int i=0;i<length;i++){
System.out.print(data[i]+",");
}
System.out.println("\n"+"线性表的长度"+length);
}
public String insert(int i,int value){
// i表示数据插入的位置,k表示插入的数据
data=new int [maxSize];
if(length==maxSize||i<1||i>length+1){
return "插入错误";
}else if(i<=length){
for(int j=length-1;j>=i-1;j--){
data[j+1]=data[j];
}
data[i-1]=value;
length++;
}
return "插入成功";
}
public static void main(String[] args) {
int b[]={1,2,3,5,4};
SeqList s=new SeqList(b);
s.insert(2, 6);
s.DispList();
}
}
执行结果:
0,6,0,0,0,0,
线性表的长度6
public SeqList(int a[]){
data=new int [maxSize];
//data=a;
for (int i = 0; i<a.length; i++){
data[i] = a[i];
}
length=a.length;
}public String insert(int i,int value){
// i表示数据插入的位置,k表示插入的数据
//data=new int [maxSize];
if(length==maxSize||i<1||i>length+1){
return "插入错误";
}else if(i<=length){
for(int j=length-1;j>=i-1;j--){
data[j+1]=data[j];
}
data[i-1]=value;
length++;
}
return "插入成功";
}
public SeqList(int a[]){
data = Arrays.copyOf(a, maxSize);
length=a.length;
}