java怎样对数组里面的数据进行增、删、查、改?

 我来答
山水阿锐
2018-01-07 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.2亿
展开全部
您好, 删除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();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式