java怎样对数组里面的数据进行增、删、查、改?
1个回答
展开全部
您好, 删除delete(a,4); 删除index=4的数据,即a[4]=4 删除
批量删除delete(a,2)删除所有a[i]=2的数据,即a[2] 、a[6]、 a[7]删除
原题就这么写的,两个方法名一样,参数一样,功能却不一样。
class TestArray{
public static void main(String[]args){
int[] a ={0,1,2,3,4,5,2,2,1};
print(add(a,9,2));
print(delete(a,3));
select(a,2);
print(change(a,2,98));
print(deleteAll(a,2));
}
//增
public static int[] add(int[] array,int num,int index){
int[] result=new int[array.length+1];
for(int i=0,j=0;i<array.length;i++,j++){
if(j==index){
result[j]=num;
i--;
}else{
result[j]=array[i];
}
}
return result;
}
//删
public static int[] delete(int[] array,int index){
int[] result=new int[array.length-1];
for(int i=0,j=0;i<array.length;i++,j++){
if(i==index){
j--;
}else{
result[j]=array[i];
}
}
return result;
}
//查
public static void select(int[] array,int num){
int count=0;
for(int i=0;i<array.length;i++){
if(array[i]==num){
System.out.println("index"+i+"的值为"+num);
count++;
}
}
if(count==0)
System.out.println("找不到");
}
//改
public static int[] change(int[] array,int index,int num){
array[index]=num;
return array;
}
//批量删除
public static int[] deleteAll(int[] array,int num){
int j=0;
for(int i=0;i<array.length;i++){
if(array[i]==num){
j++;
}
}
int[] result=new int[array.length-j];
j=0;
for(int i=0;i<array.length;i++){
if(array[i]!=num){
result[j++]=array[i];
}
}
return result;
}
//打印数组
public static void print(int[] array){
for(int i:array){
System.out.print(i+" ");
}
System.out.println();
}
}
批量删除delete(a,2)删除所有a[i]=2的数据,即a[2] 、a[6]、 a[7]删除
原题就这么写的,两个方法名一样,参数一样,功能却不一样。
class TestArray{
public static void main(String[]args){
int[] a ={0,1,2,3,4,5,2,2,1};
print(add(a,9,2));
print(delete(a,3));
select(a,2);
print(change(a,2,98));
print(deleteAll(a,2));
}
//增
public static int[] add(int[] array,int num,int index){
int[] result=new int[array.length+1];
for(int i=0,j=0;i<array.length;i++,j++){
if(j==index){
result[j]=num;
i--;
}else{
result[j]=array[i];
}
}
return result;
}
//删
public static int[] delete(int[] array,int index){
int[] result=new int[array.length-1];
for(int i=0,j=0;i<array.length;i++,j++){
if(i==index){
j--;
}else{
result[j]=array[i];
}
}
return result;
}
//查
public static void select(int[] array,int num){
int count=0;
for(int i=0;i<array.length;i++){
if(array[i]==num){
System.out.println("index"+i+"的值为"+num);
count++;
}
}
if(count==0)
System.out.println("找不到");
}
//改
public static int[] change(int[] array,int index,int num){
array[index]=num;
return array;
}
//批量删除
public static int[] deleteAll(int[] array,int num){
int j=0;
for(int i=0;i<array.length;i++){
if(array[i]==num){
j++;
}
}
int[] result=new int[array.length-j];
j=0;
for(int i=0;i<array.length;i++){
if(array[i]!=num){
result[j++]=array[i];
}
}
return result;
}
//打印数组
public static void print(int[] array){
for(int i:array){
System.out.print(i+" ");
}
System.out.println();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询