java - 扫描仪不接受另一个字符串的输入并跳过它

标签 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);
    }
}

输出:

Enter your name
dk
My name is :dk
Enter your age
22
My age is :22
Enter your address
My address is :

最佳答案

很简单。您可以在 age = s.nextInt();

之后使用 s.nextLine();

Scanner 提供了方法 nextInt() 来请求用户输入,并且不消耗最后一个换行符 (\n)。

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

关于java - 扫描仪不接受另一个字符串的输入并跳过它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50675707/

相关文章:

java - 谁能解释为什么这段代码只在构造函数中起作用?

java - 隐写术,只有 jpg 作为输入有效,当使用 png 时,生成的图像看起来很奇怪

c++ - 如何在C++中正确导航目录路径

java - 为什么扫描仪不在 try-catch while 循环 java 中要求其他输入

java扫描仪获取数据并检测输入的每个数字和字符

java - 调试 Java 代码时如何使用 Scanner 类对象设置变量的值?

java - Android NFS 客户端

java - SOAP 客户端,以下示例

c# - 为什么我得到一个 "argument out of range exception"?

php - str_replace ('\"' ,'' ,$str) 不在服务器上工作为什么?