分析以下需求,并用代码实现
1.定义ArrayList集合,存入多个字符串
如:"ab1" "123ad" "bca" "dadfadf" "dddaaa" "你好啊" "我来啦" "别跑啊"
2.遍历集合,删除长度大于5的字符串,打印删除后的集合对象
提示:可以将原集合中所有长度大于5的字符串放入到新集合中,遍历新集合,新集合中的元素就是要删除的元素
3.基于上一步,删除集合中元素包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)
提示:
(1)定义public static boolean myContains(String str)方法
功能:
判断str中是否包含0到9的数字
包含:返回true
不包含:返回false
(2)遍历原集合利用myContains方法将所有包含0-9的字符串放入新集合中
(3)新集合中的元素就是要删除的元素
代码
package com.itheima4;
import java.util.ArrayList;
public class Test4 {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> list = new ArrayList<String>();
//将元素添加到集合中
list.add("ab1");
list.add("123ad");
list.add("bca");
list.add("dadfadf");
list.add("dddaaa");
list.add("你好啊");
list.add("我来啦");
list.add("别跑啊");
for(int i = 0;i < list.size();i++) {
String str = list.get(i);
if(str.length() > 5) {
list.remove(i);
i--;
}
}
System.out.println(list);
for(int i = 0;i < list.size();i++) {
String str2 = list.get(i);
if(myContains(str2)) {
list.remove(i);
i--;
}
}
System.out.println(list);
}
//基于上一步,删除集合中元素包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串)
/*
* 方法:public static boolean myContains(String str)
* 功能:
* 判断str中是否包含0到9的数字
* 包含:返回true
* 不包含:返回false
*
* 方法:public char[] toCharArray()
* 作用:将此字符串转换为一个新的字符数组。
*/
public static boolean myContains(String str) {
char[] chs = str.toCharArray();
for(int i = 0;i < chs.length;i++) {
if(chs[i] >= '0' && chs[i] <= '9') {
return true;
}
}
return false;
}
}
控制台输出内容