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

使用Scanner类输入

王昆
2023-03-14
问题内容

我从过去的经验中了解到的是,
nextInt()nextDouble()将继续搜索,直到在同一行或下一行找到整数或双精度都没有关系,而通过扫描器类读取输入的字符串时,则会next()考虑空格和将光标保持在同一行,如果在in代码之前使用if
nextLine()会考虑剩余的光标,有人可以帮助我更详细地了解这一点,尤其是关于它的开始位置和结束位置吗?另外,如果我认为任何错误是正确的,请告诉我。next()``nextLine()``nextLine()


问题答案:

您最初的理解是错误的。

我从过去的经验中了解到的是.nextInt()或.nextDouble()会继续搜索,直到在同一行或下一行找到整数或双精度数都没有关系

nextInt()并且分别nextDouble()等待整数和double。如果它得到的不是预期的字符串,则抛出InputMismatchException

您可以运行此代码并亲自查看。

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner s = new Scanner(System.in);
        s.nextInt();
    }
}

根据您的报价:

.nextInt()或.nextDouble()会继续搜索,直到在同一行或下一行找到整数或双精度数为止

输入:Abcdf234gd。你不会的234。你得到InputMismatchException

对于.next().nextLine()

.next():仅读取并返回字符串,直到遇到空格或EOF

.nextLine():返回字符串,直到遇到\nor \r或or 为止EOF。意思是,它返回整行。

光标位置

next()

考虑以下字符串:

ABC DEF GHI JKL MNO PQR STU VWX YZ

初始位置:

->ABC DEF GHI JKL MNO PQR STU VWX YZ

当您调用时next(),光标将移至:

ABC ->DEF GHI JKL MNO PQR STU VWX YZ

并返回 ABC

nextLine()

考虑以下字符串:

ABC DEF GHI JKL 
MNO PQR STU VWX
YZ

初始位置:

->ABC DEF GHI JKL
MNO PQR STU VWX 
YZ

当您调用时nextLine(),光标将移至下一行:

ABC DEF GHI JKL
->MNO PQR STU VWX
YZ

然后返回ABC DEF GHI JKL

希望对您有所帮助。



 类似资料:
  • 本文向大家介绍Java使用Scanner类获取用户输入实例详解,包括了Java使用Scanner类获取用户输入实例详解的使用技巧和注意事项,需要的朋友参考一下 创建 Scanner 对象的基本语法: Scanner 类的 next() 方法 运行结果如下,会发现空格后面的英文没有被打印出来: Scanner 类的 nextLine 方法 在以上基础上修改代码: 运行结果,空格后面的英文也可以被打印

  • 在处理扫描仪输入时,我们可以使用var。。带sc.nextInt()的参数??例如(以下代码) 输出是ArrayIndexOutOfBoundsException: 1任何人都可以解释这一点...

  • 在第一次迭代中,代码工作正常,我写了一些无效的东西(不是命令),代码打印警告并继续。但是其他迭代返回,如果(!scanin.hasnextline())返回null;,则返回

  • 本文向大家介绍Java Scanner 类的使用小结,包括了Java Scanner 类的使用小结的使用技巧和注意事项,需要的朋友参考一下 在笔试编程过程中,关于数据的读取如果迷迷糊糊,那后来的编程即使想法很对,实现很好,也是徒劳,于是在这里认真总结了Java Scanner 类的使用 通过 Scanner 类来获取用户的输入,下面是创建 Scanner 对象的基本语法:  接下来我们演示一个最简

  • 问题内容: 如何使用该类从控制台读取输入?像这样: 基本上,我只需要让扫描程序读取用户名的输入,然后将输入分配给变量。 问题答案: 一个简单的例子来说明如何从中读取单个整数。这真的很简单。 要检索用户名,我可能会使用。 如果你想对输入进行更多控制,或者仅验证变量,也可以使用。 你可以在API文档中找到有关其实现的更多信息

  • 如何使用类从控制台读取输入?类似这样的事情: 基本上,我想要的只是让扫描器读取用户名的输入,并将输入赋给变量。