【发布时间】:2020-06-18 15:43:12
【问题描述】:
我必须计算一个字符串中的数字总和(通过扫描仪读取)。另外,我必须确保仅在输入正好是 3 位时才计算输入。
到目前为止我得到了什么:
public class Test{
public static void main(String... args) {
System.out.print(new java.util.Scanner(System.in).nextLine().chars().mapToObj(i -> ((char)i)-'0').reduce(0, (a,b)->a+b));
}
}
但是我怎样才能证明在那一行中正好有 3 位数字呢?
【问题讨论】:
-
您可以 Arrays.stream 完整输入字符串,然后过滤匹配的正则表达式 \d{3} 然后 findFirst -> 您的代码或其他错误消息?
-
代码没有3位怎么办?
-
打印出类似
"invalid input"的内容 -
“一个班轮”是指一个声明?因为你可以在 Java 中用一行代码编写任何程序。
-
@Henry,当然是的