Dotcpp  >  编程教程  >  Java常用实用类  >  Java Scanner类使用默认分隔标记解析字符串

Java Scanner类使用默认分隔标记解析字符串

点击打开在线编译器,边学边练

前几节我们学习了怎样使用String类的split(String regex)来分解字符串,以及怎样使用StringTokenizer类来解析字符串中的单词,这一节我们学习怎样使用Scanner类的对象从字符串中解析程序所需要的数据。


解析程序所需数据有两种方法,一是使用默认分隔标记解析字符串,二是使用正则表达式作为分隔标记解析字符串,本节我们学习第一种方法。


想要使用默认分隔标记解析字符串,我们需要创建Scanner对象,并将要解析的字符串传递给所构造的对象,例如:

String NBA = "I Love This Game";


为了解析出NBA中的单词,我们可以构造一个Scanner对象:

Scanner scanner = new Scanner(NBA);


那么scanner将空格作为分隔标记来解析字符串中的单词,解析操作的特点如下:

1)scanner调用next()方法依次返回NBA中的单词,如果NBA最后一个单词已被next()方法返回,scanner调用hasNext()将返回false,否则返回true。

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

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



本文固定URL:https://www.dotcpp.com/course/842

Java教程
第一章 Java入门
第二章 Java运算符和表达式
第三章 Java流程控制
第四章 Java类和对象
第五章 Java子类与继承
第六章 Java接口与实现
第七章 Java内部类与异常类
第八章 Java常用实用类
第九章 Java输入输出流
第十章 Java数组
Dotcpp在线编译      (登录可减少运行等待时间)