zoukankan      html  css  js  c++  java
  • java Scanner中next和nextLine()区别

    next():

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

    nextLine():

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

    如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读

    实例:

    ScannerDemo.java 文件代码:

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

    执行以上程序输出结果为:

    $ javac ScannerDemo.java
    $ java ScannerDemo
    next方式接收:
    runoob com
    输入的数据为:runoob

    可以看到 com 字符串并未输出,接下来我们看 nextLine。

    使用 nextLine 方法:

    ScannerDemo.java 文件代码:

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

    执行以上程序输出结果为:

    $ javac ScannerDemo.java
    $ java ScannerDemo
    nextLine方式接收:
    runoob com
    输入的数据为:runoob com

    可以看到 com 字符串输出。

  • 相关阅读:
    P4149 [IOI2011]Race dsu on tree
    CodeForces
    2020牛客国庆集训派对day2 CHEAP DELIVERIES
    Hero In Maze
    topo排序
    今年暑假不AC
    小国的游戏
    Stall Reservations
    博弈论
    Reversed Words
  • 原文地址:https://www.cnblogs.com/minixiong/p/9889655.html
Copyright © 2011-2022 走看看