zoukankan      html  css  js  c++  java
  • Scanner的使用

      Scanner可以实现从字符串、输入流和文件的读取,在构造时可以选择你需要的读取方式,常见的构造方法有如下3个:

    • Scanner(File source):构造一个新的 Scanner,它生成的值是从指定文件扫描的。
    • Scanner(InputStream source):构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。
    • Scanner(String source):构造一个新的 Scanner,它生成的值是从指定字符串扫描的。

    下面列举的列子将以从字符串读取的方式进行:

    (1)以空格作为分割符取得单词(Scanner默认的分割方式就是空格):

      输入:Hello World! I am coming.

      输出:Hello World!I am coming.

    String txt = "Hello World! I am coming.";
    Scanner scanner = new Scanner(txt);
    while(scanner.hasNext()){
        System.out.print(scanner.next() + " ");
    }

    (2)取得每一个字符(包括空格):

      由于Scanner里不可以直接这样做,所以我们采用间接的方式。先把整个字符串从Scanner中取出来,转换为char数组后,再逐个处理。

      输入:Hello World! I am coming.

      输出:H e l l o ◊ W o r l d !◊ I ◊ a m ◊ c o m i n g .(我们以◊表示输出的空格符号)

    String txt = "Hello World! I am coming.";
    Scanner scanner = new Scanner(txt);
    if(scanner.hasNextLine()){
        char[] ch = scanner.nextLine().toCharArray();
        for(int i = 0; i < ch.length; i++){
            System.out.println(ch[i]);
        }
    }

        如果不需要空格,只需要在后面的代码里加入是否为空格的判断就可以了。

    (3)以逗号作为分割符取得单词(通过正则表达式设置Scanner的分割符):

      输入:Hello,World,I,am,coming

      输出:Hello World I am coming

    String txt = "Hello,World,I,am,coming";
    Scanner scanner = new Scanner(txt);
    scanner.useDelimiter("\,");
    while(scanner.hasNext()){
        System.out.print(scanner.next() + " ");
    }
  • 相关阅读:
    uniapp的v-for的key不同平台的兼容解决
    想好要做什么,然后就放手去做吧!
    中国姓氏大全(常见508个,罕见740个)
    swiper鼠标移入停止滚动 移出开始滚动
    swiper文字垂直滚动(公告栏)
    简体生僻汉字大全21418个-GBK编码中的汉字
    uniapp终极查bug大法-无私分享
    uniapp数据更新了但是页面没有渲染-解决方案
    uniapp引入font-awsome字体图标-疑难解决
    优化问题及KKT条件
  • 原文地址:https://www.cnblogs.com/liujinyao/p/4729204.html
Copyright © 2011-2022 走看看