我的专长是:
创建方法长度,该方法长度将String变量列表作为参数,并返回一个ArrayList,其中ArrayString的长度与原始列表的顺序相同。
而我的代码:
import java.util.ArrayList;
public class Test {
public static ArrayList<Integer> lengths(ArrayList<String> strings) {
ArrayList<Integer> list = new ArrayList<Integer>();
for (String item : strings) {
System.out.print(item.length());
}
return list;
}
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("Dog");
list.add("Elephant");
list.add("Aligator");
list.add("Parrot");
ArrayList<Integer> stringLenghts = lengths(list);
System.out.println(stringLenghts);
}
}
这个程序输出
3386 []
代替
[3、3、8、6]
知道我在哪里犯错了吗?
最佳答案
在lengths()
方法中,您只是在打印长度值。
但是您没有将长度添加到ArrayList
中,即您的stringLenghts
列表为空(因此打印为[]
空数组),因此如下所示更改代码:
public static ArrayList<Integer> lengths(ArrayList<String> strings) {
ArrayList<Integer> list = new ArrayList<Integer>();
for (String item : strings) {
list.add(item.length());//add length to list
}
return list;
}