扫描程序没有输入另一个字符串并跳过它

时间:2018-06-04 07:48:54

标签: java string java.util.scanner

为什么扫描仪没有输入另一个字符串并对其进行调整?我不明白,这是我的代码:

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
输入您的地址
我的地址是:

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

您应该在最后一次系统退出后关闭扫描仪

答案 2 :(得分:0)

Statement.out.println("My age is",age);

之后放置以下声明

s.nextLine();

上面的语句将执行flush,这将清除缓存位置以接受新输入。