Java中调用ArrayList.size()获取元素数量无输出问题
问题解决:输入空串后未输出ArrayList元素数量
嘿,我一眼就发现问题啦!你的程序逻辑没问题,只是调用了CountItems方法后,没有把它的返回值打印出来,所以控制台只显示了提示文本,看不到实际的元素数量。
问题出在哪?
在main方法的最后,你写了:
CountItems(Names);
这个方法确实正确返回了ArrayList的元素个数,但你没有用System.out.println()把这个结果输出到控制台,相当于计算出了数值却没展示出来。
修改方案
只需要把这一行改成打印返回值的形式就行,有两种写法:
写法1:直接打印方法返回值
// 把返回的数量直接打印出来 System.out.println(CountItems(Names));
写法2:简化代码(可选)
其实你的CountItems方法只是简单返回list.size(),完全可以省去这个方法,直接打印列表的size:
System.out.println(Names.size());
修改后的完整代码
如果保留CountItems方法,完整代码如下:
import java.util.ArrayList; import java.util.Scanner; public class ArrayCounter { public static int CountItems(ArrayList<String> list ) { int i = list.size(); return i; } public static void main (String args[]) { ArrayList<String> Names = new ArrayList<String>(); Scanner input = new Scanner(System.in); while(true) { System.out.println("Hey gimme a word"); String word = input.nextLine(); if (word.equals("")) { System.out.println("The number of values entered were:"); break; } else { Names.add(word); } } // 这里修改为打印方法返回值 System.out.println(CountItems(Names)); input.close(); } }
这样修改后,当你输入空串时,控制台就会先打印提示文本,接着输出你之前录入的单词数量啦!
内容的提问来源于stack exchange,提问作者Anton
相关产品推荐
相关产品推荐

