Java中Scanner类的使用

Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。

Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。

例如,以下代码使用户能够从 System.in 中读取一个数

 	Scanner sc = new Scanner(System.in);
 	int i = sc.nextInt();
再看一个例子,以下代码使long类型可以通过myNumber文件中的项分配:

	Scanner sc = new Scanner(new File("myNumbers"));
      	while (sc.hasNextLong()) {
         	 long aLong = sc.nextLong();
      	}
扫描器还可以使用不同于空白的分隔符,下面是从一个字符串读取若干项的例子

	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

以下代码使用正则表达式同时解析所有的 4 个标记,并可以产生与上例相同的输出结果:

 	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(); 

扫描器所使用的默认空白分隔符通过 Character.isWhitespace 来识别。不管以前是否更改,reset() 方法将把扫描器分隔符的值重置为默认空白分隔符。

扫描操作可能被阻塞,而等待信息的输入。 


最常用的一个Scanner方式就是读取键盘的输入,此时的构造方法为:

<span style="white-space:pre">	</span>Scanner scan=new Scanner(System.in);
然后就可以使用scan.nextInt()之类的函数来获得键盘的输入了。

对黑客与画家感兴趣的扫一扫下面的二维码,每周为您推送精彩内容





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值