当前位置: 首页 > 面试题库 >

使用nextInt和nextLine()遇到麻烦

邓元白
2023-03-14
问题内容

这不是让我输入我的名字,但是年龄确实可以。我知道我可以更改语句的顺序,但是还有另一种方法可以做到吗?

import java.util.Scanner;

public class ScannerErr2
{
  public static void main(String [] args)
  {
    Scanner keyboard= new Scanner(System.in);
    String name;
    int    age;

    System.out.print("Enter your age : ");
    age= keyboard.nextInt();
    System.out.print("Enter your name: ");
    name= keyboard.nextLine();

    System.out.println("Age : "+age);
    System.out.println("Name: "+name);
  }
}

问题答案:

您的问题是,下一个int不考虑输入在您的姓名部分中的换行符。因此,名称返回为空白。

您可以通过两种方式更改代码:

System.out.print("Enter your age : ");
age = keyboard.nextInt();
keyboard.nextLine();
System.out.print("Enter your name: ");
name = keyboard.nextLine();

要么

System.out.print("Enter your age : ");
age = Integer.parseInt(keyboard.nextLine().trim());
System.out.print("Enter your name: ");
name = keyboard.nextLine();

我个人喜欢第二种方式。



 类似资料:
  • 在使用方法后,我无法使用方法。这是下面给出的注意事项.... 在hacker Rank中注意:(如果您在方法之后立即使用方法,请记住读取整数令牌;因此,该行整数输入的最后一个换行符仍在输入缓冲区中排队,下一个将读取整数行的剩余部分(为空)。nextLine方法不会被跳过,但它为空。代码: 输出:string:double:3.1415 int:42

  • 问题内容: 我正在尝试让CI与Jenkins合作。迄今为止,我们已经在环境中执行了两个计划的构建,但是我们的开发人员希望让CI正常工作。我遵循了Jenkins Subversion插件Wiki页面中概述的说明: https://wiki.jenkins- ci.org/display/JENKINS/Subversion+Plugin 这使我进入了一个可以在命令行执行的脚本,但是当我在Subver

  • 问题内容: -edit2-3小时后,仍然有相同的问题。我正在使用noinstall存档软件包。-编辑-也许有人可以告诉我一种检查表是否存在的更好方法? 我的函数库中有一个函数来检查是否存在一个表,该表过去我曾问过要怎么做。 我删除了数据库并再次创建了它。我的代码未正确创建表。调试后,我决定编写以下内容。 很奇怪… mydb被删除并再次创建(我写了,应该消失了吗?)。让我们找出存在的东西 我不仅不知

  • 我是新来的React Native,刚刚用React Native init rnapp命令创建了一个应用程序,它发出了许多警告: 然后我转到android文件夹并运行以下命令: 但我明白了: * 有人知道如何修复这个问题,并在这个空应用程序上为Android构建apk文件吗?

  • 问题内容: 我试图了解这三种方法是如何工作的。这是我对它们的理解: 读取当前行的其余部分,即使它为空。 读取一个整数,但不读取转义序列“ \ n”。 读取当前行,但不读取“ \ n”。 假设我有以下代码: 如果我的输入是: 然后,我在屏幕上得到以下输出: 为什么会有“ HI”的值? 这是否意味着即使没有读取第一行的转义字符,该方法也会读取下一行? 问题答案: nextLine()读取当前行的其余部

  • 我试图了解这三种方法是如何工作的。我是这样理解他们的: 读取当前行的剩余部分,即使该行为空 假设我有以下代码: 如果我的输入是: 然后我在屏幕上得到以下输出: 为什么的值为“HI”? 这是否意味着方法读取下一行,即使第一行的转义字符尚未被读取?