Java之Scanner中next()同nextLine()有什么不同呢?

Java-经验王 Java经验 发布时间:2021-08-18 09:29:47 阅读数:8294 1
下文讲述Scanner类中next()方法同nextLine()方法的不同之处,如下所示:

首先我们从next()方法和nextLine()方法的读取字符的方式着手分析:

next()

  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
next() 无法获取有空格的字符串

nextLine()

  1. 使用Enter为结束符,即nextLine()方法中获取的字符串信息是回车前的所有字符
  2. 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();
    }
} 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202108/1629250239734.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者