Scanner类中nextLine()问题

来源:互联网 发布:com.cn域名怎么样 编辑:程序博客网 时间:2024/06/06 02:00
今天写了这个程序:
import java.util.*;

public class TestScan {
    publicstatic void main(String []args) {
       Scanner cin= new Scanner(System.in);
       int a =cin.nextInt();
      System.out.println(a);
       String b=cin.nextLine();
      System.out.println(b);
      cin.close();
    }
}

发现运行时候只能输出int,后面String不输出。而把两者互换位置,结果正常。

解决办法:nextLine()方法会自动读取\n,输入int后,会回车,下面的语句读取了\n,所以显示了一个空白行。
需要额外包含一条nextLine()方法或者nextLine()写在最前面
import java.util.*;

public class TestScan {
    publicstatic void main(String []args) {
       Scanner cin= new Scanner(System.in);
       int a =cin.nextInt();
      System.out.println(a);
       String b=cin.nextLine();
      System.out.println(b);
       String c=cin.nextLine();
      System.out.println(c);
      
      cin.close();
    }
}


0 0