我想写一个java程序来分隔String
数组中的偶数字符。我制作了这样的程序,它正在运行:
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声明:
List<String> list=Arrays.asList("HELLO","MY","NAME","IS","ALICE") ;
我怎样才能从这一点继续?我试过某种“for”迭代,但我不知道如何从这个List中逐个元素地识别。
答案 0 :(得分:0)
增强for
循环救援
List<String> list=Arrays.asList("HELLO","MY","NAME","IS","ALICE");
for(String s : list) {
if(s.length()%2==0) {
System.out.println(s);
}
}
另外,只需指出,您可以将该数组初始化为:
String[] x = {"Hello", "My", "Name", "is" , "John"};
还支持增强的for
循环:
String[] x = {"Hello", "My", "Name", "is" , "John"};
for(String s : x) {
if(s.length()%2==0) {
System.out.println(s);
}
}
答案 1 :(得分:-1)
你应该在每个String上运行一个提取偶数字符串的方法,并从中创建一个这样的字符串:
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());
}
如果你的意思是过滤甚至是legnth字符串,你可以在一行中完成
list.stream().filter(x -> (x.length() % 2) == 0).collect(Collectors.toList());