扫描仪没有采取另一个字符串输入,跳过它(Scanner is not taking input of

2019-09-27 12:42发布

为什么扫描仪没有采取另一个字符串输入和skepping呢? 我无法理解,这里是我的代码:

import java.util.Scanner;

public class demo {

    public static void main(String[] args) {

        Scanner s = new Scanner(System.in);
        String name;
        String address;
        int age;

        System.out.println("Enter your name");
        name = s.nextLine();
        System.out.println("My name is :" + name);

        System.out.println("Enter your age");
        age = s.nextInt();
        System.out.println("My age is :" + age);

        System.out.println("Enter your address");
        address = s.nextLine();
        System.out.println("My address is :" + address);
    }
}

输出:

输入你的名字
DK
我的名字是:DK
输入您的年龄
22
我的年龄:22
请输入您的地址
我的地址是 :

Answer 1:

很简单。 您可以使用s.nextLine();age = s.nextInt() ;

扫描器提供了一种方法nextInt()以请求用户输入并且不消耗的最后一个换行字符( \n )。

System.out.println("Enter your age");
age = s.nextInt();
s.nextLine(); // consumes the \n character
System.out.println("My age is :" + age);


Answer 2:

最后制出后,应关闭扫描仪



Answer 3:

下面放置后声明Statement.out.println("My age is",age);

s.nextLine();

上述声明将做冲洗,这将为了接受新的输入清除缓存位置。



文章来源: Scanner is not taking input of another string and skipping it