博客
关于我
9.8 Scanner类
阅读量:326 次
发布时间:2019-03-04

本文共 1352 字,大约阅读时间需要 4 分钟。

  • Scanner类的对象从字符串中解析程序所需的数据

 

创建Scanner对象,并将要解析的字符串传递给所构造的对象。

例如,对于字符串:String s=”telephone cost 876  dollar.Computer cost 2398.89  dollar.”;

为了解析出s中的单词,可以如下构造一个Scanner对象:

Scanner scanner=new Scanner(s);

那么scanner默认使用空格作为分隔标记来解析字符串中的单词,也可以让Scanner对象调用方法:

useDelimiter(正则表达式);

将正则表达式作为分隔标记,即Scanner对象在解析字符串时,把与正则表达式匹配的字符串作为分隔标记。

 

 

Scanner对象解析字符串的特点如下:

scanner 调用next()方法依次返回被解析的字符串s中的单词,如果s的最后一个单词已被next()方法返回,scanner调用hasNext()将返回false,否则是true.

对于被解析的字符串s中的数字型的单词,比如876,2398.89等,scanner可以用nextInt()或nextDouble()方法来代替next()方法,即scanner调用nextInt()或nextDouble()方法将数字型单词转化为int或double数据返回

如果单词不是数字型单词,scanner调用nextInt()或nextDouble()方法将发生InputMismatchException异常,在处理异常时可以调用next()方法返回该非数字化单词

 

例子:

import java.util.InputMismatchException;import java.util.Scanner;public class p1 {    public static void main(String args[]) {        String s="话费清单:市话费:76.89元,长途话费:168.38元,上网费:12.68元。";        Scanner scanner=new Scanner(s);//匹配所有非数字字符串,+的意思是出现一次或者多次       scanner.useDelimiter("[^0123456789.]+");     //设置分隔标记        double total=0;        while (scanner.hasNext()){            try {                double money=scanner.nextDouble();                total=total+money;                System.out.println(money);            }            catch (InputMismatchException e){                String t=scanner.next();            }        }        System.out.println(total);    }}

 

转载地址:http://vish.baihongyu.com/

你可能感兴趣的文章
Nginx中使用expires指令实现配置浏览器缓存
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>
Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
查看>>
Nginx代理初探
查看>>
nginx代理地图服务--离线部署地图服务(地图数据篇.4)
查看>>
Nginx代理外网映射
查看>>
Nginx代理模式下 log-format 获取客户端真实IP
查看>>
Nginx代理解决跨域问题(导致图片只能预览不能下载)
查看>>
Nginx代理配置详解
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
nginx反向代理
查看>>
nginx反向代理、文件批量改名及统计ip访问量等精髓总结
查看>>
Nginx反向代理与正向代理配置
查看>>
Nginx反向代理及负载均衡实现过程部署
查看>>
Nginx反向代理是什么意思?如何配置Nginx反向代理?
查看>>
nginx反向代理解决跨域问题,使本地调试更方便
查看>>
Nginx反向代理配置
查看>>
Nginx启动SSL功能,并进行功能优化,你看这个就足够了
查看>>
nginx启动脚本
查看>>