在Java中使用,while循环和hasNext的意外输出

问题描述

import java.io.*;
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int i=1;
        while(scan.hasNext()){
            System.out.println(i + " " + scan.nextLine());
            i++;
        } 
    }
}

输出:

a
1 a
b
2 b
c
3 c

e
4 
5 e

问题:当我输入a时,输出是预期的,因为b和c也相同。 但是我按Enter键而不是d键,预期的输出结果是:“ 4”,但它不会输出4,而是没有输出,并且当我在按Enter键后输入e时,会同时打印4“ space”和5e。有人可以指出我想在这里看到的东西吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)