在字符串数组中分隔奇偶字符数的Java程序
我想写一个java程序来分离字符串数组中的偶数字符。我制作了这个程序,它正在运行:在字符串数组中分隔奇偶字符数的Java程序,java,arrays,string,Java,Arrays,String,我想写一个java程序来分离字符串数组中的偶数字符。我制作了这个程序,它正在运行: String [] x = new String[5] ; x[0] = "Hello" ; x[1] = "My" ; x[2] = "Name" ; x[3] = "is" ; x[4] = "John" ;
String [] x = new String[5] ;
x[0] = "Hello" ;
x[1] = "My" ;
x[2] = "Name" ;
x[3] = "is" ;
x[4] = "John" ;
for(int i=0;i<x.length;i++) {
if(x[i].length()%2==0) {
System.out.println(x[i]);
}
}
现在我想让程序使用如下列表声明:
List<String> list=Arrays.asList("HELLO","MY","NAME","IS","ALICE") ;
我怎样才能从这一点继续下去?我尝试了某种形式的for迭代,但我不知道如何从这个列表中逐个识别元素 增强了用于救援的环路
List<String> list=Arrays.asList("HELLO","MY","NAME","IS","ALICE");
for(String s : list) {
if(s.length()%2==0) {
System.out.println(s);
}
}
它还支持增强的for循环:
您应该在每个字符串上运行一个方法,提取偶数字符并从中创建如下字符串:
public void printEvenChars(String str) {
StringBuilder sbEven = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
if ( i % 2 == 0) {
sbEven.append(str.charAt(i));
}
}
System.out.println(sbEven.toString());
}
请提供您想要的输出。这将特别有用,因为您无法清楚地描述您的需求。您是指长度为偶数的seprate字符串吗?如果这是含义,那么您可以在一行中完成:list.stream.filterx->x.length%2==0.collectCollectors.toList;我认为这是一个标题错误。根据他要求的示例,添加了一个答案,但标题仍然令人困惑。如果标题令人困惑,我很抱歉。我喜欢你的回答。这正是我想要的。Thx人!而且你的数组初始化也更好!
String[] x = {"Hello", "My", "Name", "is" , "John"};
for(String s : x) {
if(s.length()%2==0) {
System.out.println(s);
}
}
public void printEvenChars(String str) {
StringBuilder sbEven = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
if ( i % 2 == 0) {
sbEven.append(str.charAt(i));
}
}
System.out.println(sbEven.toString());
}
list.stream().filter(x -> (x.length() % 2) == 0).collect(Collectors.toList());