桃のJava-API笔记本:Scanner

Scanner の方法


【Java API】

方法返回值参数
closevoid关闭扫描仪
ioExceptionIOException输出上次引发的异常(若无为空)
delimiterPattern分隔符
useDelimiter(",")Pattern修改分隔符:为逗号
localeLocale默认区域设置
useLocalelocale修改区域设置
radixint默认基数
useRadixradix修改基数
matchMatchResult上次匹配结果
toStringString转为字符串形式
hasNextboolean检查序列中是否还有元素
nextString输出下个字符串
removevoid
hasNextbooleanpattern若下一个与指定模式字符串匹配则返回true,否则空
nextStringpattern输出指定模式字符串
hasNextLineboolean检查是否有下一行
nextLineString输出下一行
findInLineStringpattern查找指定字符串模式的下一个匹配项,忽略分隔符
findWithinHorizonStringpattern horizon查找指定字符串构造的模式的下一个匹配项,忽略分隔符
skippattern跳过与指定模式匹配的输入,忽略分隔符
reset重置所有显式状态信息
hasNextIntboolean检查是否有整型
hasNextIntbooleanradix检查是否有指定的基数的整型
nextIntboolean输出整型
nextIntintradix使用指定的基数输出整型
( 以下都如上 x 4 )
Boolean
Byte
Short
Long
Float
Double
BigInteger
BigDecimal

? 例


此代码允许用户从system.in读取数字

    Scanner sc = new Scanner(System.in);  
    int i = sc.nextInt(); 

此代码允许从文件mynumbers中的条目分配长类型

    Scanner sc = new Scanner(new File("myNumbers"));
          while (sc.hasNextLong()) {
              long aLong = sc.nextLong();
          }

扫描器也可以使用除空白之外的分隔符。此示例从字符串中读取以下几项:
(注:\\s*:正则表达式的空格符)*

     String input = "1 fish 2 fish red fish blue fish";
     Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");  
     System.out.println(s.nextInt());
     System.out.println(s.nextInt());
     System.out.println(s.next());
     System.out.println(s.next());
     s.close();

输出:

 1
 2
 red
 blue

此代码可以生成相同的输出,它使用正则表达式一次解析所有四个标记:

     String input = "1 fish 2 fish red fish blue fish";
     Scanner s = new Scanner(input);
     s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
     MatchResult result = s.match();
     for (int i=1; i<=result.groupCount(); i++)
         System.out.println(result.group(i));
     s.close();


2019/4/25?:明明大部分不常用,也不知道我整理来干哈(*゜ー゜*)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值