java中Scanner中的next和nextLine方法

对于Java中Scanner中的next和nextLine俩个方法的解释
next是以空格结束
而nextline是以回车结束

import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        Scanner  in=new Scanner(System.in);
        System.out.println("请输入年龄");
        int  age=in.nextInt();
        System.out.println("请输入姓名");
        String  name=in.nextLine();
        System.out.println(age+","+name);
    }
}

结果:
请输入年龄
21
请输入姓名
21,
其中之所以出现这样的结果,因为那个nextInt方法只读取数字,而那个回车还在缓存区里,使得nextline读取了回车键就结束了,没有办法读入姓名了。
下次分享解决这个问题的方法,这是我第一次写博客,望大家多多支持,写的不太好!毕竟我也才大一,望各位大佬多多支持!
2021/12/23更新:
实在抱歉,这么长时间才来来填我自己的那个问题:
那个程序中输完了那个年龄,那个姓名就输入不进去了,因为那个输入21人会按回车,而nextline是以回车符结束
所以,解决这个问题很简单,就是在nextInt后再加一个nextline,来接受回车符,而原来那个nextline就接受字符了,这就是解决之道!

import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        Scanner  in=new Scanner(System.in);
        System.out.println("请输入年龄");
        int  age=in.nextInt();
        in.nextline;//接受输入年龄后产生的回车符
        System.out.println("请输入姓名");
        String  name=in.nextLine();
        System.out.println(age+","+name);
    }
}



版权声明:本文为weixin_50076754原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。