• 第十三章 Scanner定界符


    由于在默认情况下Scanner根据空白字符对输入进行分词,为满足不同的分词要求,Scanner提供的使用正则表达式的方式去指定你所需的定界符:

     1 package 字符串;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.IOException;
     5 import java.io.StringReader;
     6 import java.util.Scanner;
     7 
     8 /**
     9  * 扫描输入与使用流读入对比
    10  * 
    11  * Scanner默认以空白作为定界符
    12  * @author admin
    13  *
    14  */
    15 public class Scan {
    16     
    17     public static final String STR = "Sir Robin of Camelot
    22 1.61803  0.897";
    18     
    19     public static void main(String[] args) {
    20         //scan();
    21        22         
    23         delimiter();
    24     }
    25     
    26     
    27     @SuppressWarnings("resource")
    28     public static void scan() {
    29         Scanner scanner = new Scanner(Scan.STR);
    30         
    31         //nextLine()读取下一行的内容,并且指针向下移动一行
    32         System.out.println(scanner.nextLine());//只认换行符,不认我直接换行
    33 
    34         //nextInt()/nextDouble()指针不会在向下移动,而是水平移动。
    35         System.out.println(scanner.nextInt());
    36         System.out.println(scanner.nextDouble());
    37         System.out.println(scanner.nextDouble());
    38         
    39         
    40         //当找不到本行内下一个值时会抛出异常。找不到下一行时也会抛出异常
    41         //System.out.println(scanner.nextDouble());
    42         //System.out.println(scanner.nextLine());
    43         
    44         //Scanner有一个假设,在输入结束时会抛出IOException,所以Sanner会把IOExecption吞掉
    45         System.out.println(scanner.ioException());
    46     }
    47     
    48     
    49     /**
    50      * Scanner默认以空白符作为定界符,你可以使用正则表达式去指定定界符
    51      */
    52     public static void delimiter() {
    53         Scanner sc = new Scanner("12,34,56,90");
    54         sc.useDelimiter("\s*,\s*");
    55         while(sc.hasNextInt()) {
    56             System.out.println(sc.nextInt());
    57         }
    58     }
    59 
    60 }

    控制台:

    12
    34
    56
    90

     

    前进时,请别遗忘了身后的脚印。
  • 相关阅读:
    Android教程 -07 Activity的任务栈和启动模式
    ViewPager封装工具类: 轻松实现APP导航或APP中的广告栏
    hdu 5900 区间dp
    状压dp入门
    poj 3280
    hdu 4745 two Rabits
    食了智,过来水一发
    poj 2142 the Balance
    hdu 6188 Duizi and Shunzi
    hdu 6186 CS Course
  • 原文地址:https://www.cnblogs.com/liudaihuablogs/p/9309584.html
Copyright © 2020-2023  润新知