zoukankan      html  css  js  c++  java
  • Java中next()和hasNext() ? nextLine()和hasNextLine()?区别详解

    java.util.Scanner 是 Java5 的新特征,可以通过 Scanner 类来获取用户的输入。

    Scanner sc = new Scanner(System.in);

    通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据

    首先看看next方法:

    import java.util.Scanner;  
    public class ScannerDemo {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            // 从键盘接收数据
            // next方式接收字符串
            System.out.println("next方式接收:");
            // 判断是否还有输入
            if (sc.hasNext()) {
                String str1 = sc.next();
                System.out.println("输入的数据为:" + str1);
            }
            sc.close();
        }
    }

    输出:

    nextLine()方法:

    import java.util.Scanner;
    public class ScannerDemo {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            // 从键盘接收数据
            // nextLine方式接收字符串
            System.out.println("nextLine方式接收:");
            // 判断是否还有输入
            if (sc.hasNextLine()) {
                String str2 = sc.nextLine();
                System.out.println("输入的数据为:" + str2);
            }
            sc.close();
        }
    }

    输出:

    next()与nextLine()比较:

    next():

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

    1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符
    2、可以获得空白。

    参考原文:https://blog.csdn.net/Fly_as_tadpole/article/details/84203209

  • 相关阅读:
    放弃模拟器,安卓手机WiFi投屏到Ubuntu
    在Ubuntu中使用多显示器远程window主机
    完全卸载visual studio及其组件
    使用defineProperty实现自定义setter, 简化前端Angular的重构工作
    数字图像基础
    Python的文本和字节序列
    机器学习开发流程基础
    深度学习之新闻多分类问题
    深度学习之电影二分类的情感问题
    Chrome89针对sessionStorage的更新导致数据共享问题
  • 原文地址:https://www.cnblogs.com/cy0628/p/14538488.html
Copyright © 2011-2022 走看看