java Scanner的坑

java 输入Scanner 的一些坑,都是用泪换来的。。。

先简单总结一下:

  1. scanner.next()获取字符串以空格,tab,回车 为结束符号,且不读取结束符,会自动去掉开始的空格,光标停留在本行。
  2.  scanner.nextInt()/nextLong()/nextDouble 获取一个对应数据类型的数,以光标停留在本行
  3.  scanner.nextLine() 读取一行数据,可以包含空格,以回车结束,不包含回车。

需要注意点

  1. next(),nextInt(),nextLong(),是不读取回车符的,所以,如果你在使用完1,2这几种读取后要接着输入一个换行,然后才能读取你想要的数据,不然会遇到回车直接截断,字符串为空,导致读取失败。实例见下面。
  2. 对于快捷输入(使用复制一次性的输入),要保证使用的是一个Scanner,因为一次性输入的时候所有的数据是缓存在第一个scanner里面,挨个去取。如果你重新定义一个scanner,则出现读取问题(最常见为数据类型不匹配)。
  • scanner.next()
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        System.out.println(s + "---len--"+s.length());

以空格作为结束,只读取了第一个有效字符串,后

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java ScannerJava 语言中用于读取用户输入或读取文件内容的类。通过 Scanner 类,Java 程序可以从键盘或文件中读取数据,并将其存储在程序中进行处理和分析。Scanner 类的主要方法包括 next()、nextInt()、nextDouble() 等,可以根据读取的数据类型选择相应的方法进行调用。 ### 回答2: Java中的Scanner类是用于获取用户输入的标准输入流的工具类。它可以帮助我们实现基本的命令行输入输出操作。Scanner类提供了多种方法来读取标准输入流中的数据,比如从键盘输入数据、读取文件等。 Scanner类的常用方法包括next()、nextLine()、nextInt()等,它们分别用于读取下一个字符串、读取整行字符串和读取下一个整数。我们可以使用Scanner类的构造方法将其与标准输入流(System.in)关联起来,这样就可以从键盘获取用户输入的数据。 使用Scanner类,我们可以实现许多有用的功能。比如,我们可以编写一个简单的计算器程序,通过Scanner类读取用户输入的两个数值和一个运算符,并根据用户的选择进行相应的计算和输出结果。此外,我们还可以使用Scanner类读取文件中的数据,实现一些数据分析和处理的功能。 需要注意的是,Scanner类的使用需要注意错误处理和异常处理。比如,如果用户输入的数据类型与要求不符,或者输入格式不正确,我们需要进行相应的错误处理,以免程序崩溃或产生不可预期的结果。 总的来说,Java中的Scanner类为我们提供了方便快捷的输入操作功能,使得我们可以轻松地与用户进行交互,并实现一些有用的功能。使用Scanner类,我们可以更好地控制程序的输入和输出,提高程序的灵活性和易用性。 ### 回答3: JavaScannerJava中的一个类,它是java.util包中的一部分。它提供了一种方便的方式来从用户输入中读取各种类型的数据。 JavaScanner可以与标准输入流(System.in)一起使用,以便读取从键盘输入的数据。它可以读取各种类型的数据,包括整数、浮点数、字符串等。 要使用JavaScanner,首先需要创建一个Scanner对象。可以使用以下代码创建一个Scanner对象: Scanner scanner = new Scanner(System.in); 然后,可以使用Scanner对象的各种方法来读取输入的数据。例如,可以使用nextInt()方法读取一个整数,使用nextFloat()方法读取一个浮点数,使用nextLine()方法读取一行字符串等。 以下是一个使用JavaScanner读取用户输入整数的示例代码: Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("您输入的整数是:" + num); 在上面的示例中,程序首先提示用户输入一个整数,然后使用nextInt()方法读取用户输入的整数,并将其赋值给num变量,最后将读取的整数打印出来。 总的来说,JavaScanner提供了一种灵活方便的方式来从用户输入中读取各种类型的数据,使得程序可以更加交互和用户友好。它在Java开发中的应用非常广泛。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值