我需要解决以下问题: 编写一个名为 tokenStats 的方法,它接受一个包含一系列标记的 Scanner 作为参数。它应该打印出所有合法整数标记的总和,所有合法实数但不是整数的标记的总和,以及任何类型的标记的总数。例如,如果名为 data 的 Scanner 包含以下标记:
3 3.14 10 鱿鱼 10.x 6.0
然后调用tokenStats(data)
; 应该打印以下输出:
整数:13
实数:9.14
总代币:6
如果 Scanner 没有令牌,则该方法应打印:
整数:0
实数:0.0
总代币:0
所以,这是我的问题。我试过用
while (input.hasNext()) {
if (input.hasNextInt()) {
这会创建一个无限循环,
但如果我使用
while (input.hasNext()) {
input.next();
if (input.hasNextInt()) {
如果它是一个整数,我会丢失我的第一个令牌......
我应该怎么办?