首页 > 解决方案 > 从扫描仪计数项目

问题描述

我已经声明了一个Scanner名为 Scan 的对象

我想提示用户输入他们喜欢的许多项目:

ie: Enter items: 1 2 6 4 3 12

我如何计算输入了多少个数字?例如,上面的输出应该是 6,因为有 6 个数字

我努力了

int count = 0;
while(Scan.hasNextInt()){
count++ };

标签: java

解决方案


您可以在空白处拆分行并获取部分数。

final String line = Scan.nextLine();
if(line.trim().isEmpty()){
    System.out.println("Nothing entered");
} else {
    final String[] parts = line.split("\\s+");
    System.out.println(parts.length);
}

演示:https ://ideone.com/zgr6zM

要将部件转换为 int 数组,您可以使用Arrays.stream.mapToInt

final int[] nums = Arrays.stream(parts).mapToInt(Integer::parseInt).toArray();

演示:https ://ideone.com/WevrTw


推荐阅读