如何对JAVA字符串中的字符进行增删操作
发布网友
发布时间:2022-04-24 06:32
我来回答
共4个回答
热心网友
时间:2022-06-16 23:31
public static void main(String[] args) {
String names[]={"语文","数学","英语","*","历史","物理","化学"};
String a="";
for(int i=0;i<names.length;i++ ){//遍历字符数组,如果有元素等于"语文";则置为null
a=names[i];
if(a.equals("语文"))
names[i]=null;
}
System.out.println(" 删除后的字符数组输出 ");
for(int i=0;i<names.length;i++){//输出字符数组names,如果为空则不输出此元素
if(names[i]!=null)
System.out.print(names[i]+" ");
}
System.out.println(" \n names字符数组复制到names2 ");
int x=names.length;
String names2[]=new String[2*x];
for(int i=0;i<names.length;i++){//定义字符串数组names2,令他的长度为names的2倍(便于复制,不会越界异常)
if(names[i]!=null)
names2[i]=names[i];
}
for(int i=0;i<names2.length;i++){//在字符串数组names2中增加元素,找到第一个是null的地方,把要添加的元素放进去,利用break终止循环,不在找下去
if(names2[i]==null)
names2[i]="体育";
break;
}
System.out.println(" \n 添加后的字符数组输出 ");
for(int i=0;i<names2.length;i++){//对字符串数组names2遍历输出,过滤掉空元素!
if(names2[i]!=null)
System.out.print(names2[i]+" ");
}
//上面所有方法都在一个main方法内,楼主可考虑写不同的方法实现,并互相调用,更省代码,和易读!
}
程序运行结果控制台输出如下
删除后的字符数组输出
数学 英语 * 历史 物理 化学
names字符数组复制到names2
添加后的字符数组输出
体育 数学 英语 * 历史 物理 化学
热心网友
时间:2022-06-16 23:32
你这样的数组不太好增删,我想应该这样
String[] s=new String[100];
s[0]="语文";
s[1]="体育";//增加体育
s[0]="";//删除“语文”,即把这个位置的元素换为空字符
要么就重新生成一个数组。
或者用list
热心网友
时间:2022-06-16 23:32
用list会很方便,如果用array的话要两个method去实现。
热心网友
时间:2022-06-16 23:33
代码hi你了,看看
我在这里贴代码,10次有11次被屏蔽....