Java之Scanner中next()同nextLine()有什么不同呢?
下文讲述Scanner类中next()方法同nextLine()方法的不同之处,如下所示:
首先我们从next()方法和nextLine()方法的读取字符的方式着手分析:
首先我们从next()方法和nextLine()方法的读取字符的方式着手分析:
next()
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
next() 无法获取有空格的字符串
nextLine()
- 使用Enter为结束符,即nextLine()方法中获取的字符串信息是回车前的所有字符
- nextLine()方法可获取空白信息
nextLine() 获取int float数据注意事项, 首先使用hasNextInt()或hasNextFloat()检测以下, 然后再使用nextInt()或nextFloat()获取相应的数据例:
package com.java265; import java.util.Scanner; public class javaScannerTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 获取键盘数据的数据 int i = 0; float f = 0.0f; System.out.print("输入整数:"); if (scan.hasNextInt()) { //检测输入的是否为int类型 i = scan.nextInt(); // 接收整数 System.out.println("整数数据:" + i); } else { // 输入错误的信息 System.out.println("输入的不是整数!"); } System.out.print("输入小数:"); if (scan.hasNextFloat()) { //检测输入的是否为float类型 f = scan.nextFloat(); // 接收小数 System.out.println("小数数据:" + f); } else { // 输入错误的信息 System.out.println("输入的不是小数!"); } scan.close(); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。