Java StreamTokenizer类读入由纯数字组成的字符串

最近学习了StreamTokenizer类的使用,这个类的读入非常迅速,它可以获取输入流并将其分析为Token(标记)。在实际使用过程中,发现以下问题:
Java StreamTokenizer类读入由纯数字组成的字符串_第1张图片
当输入的字符串为数字时,该串不会被读取。查阅资料后得知sval读取的是被定界符所包围的单词,单词是由一个单词要素后面跟着0个或者更多个单词要素或者数字要素组成的,而数字不是单词要素,例如,添加单词要素后:
Java StreamTokenizer类读入由纯数字组成的字符串_第2张图片
所以我们得先将数字转化为单词要素后再读入,由此得到以下代码:
Java StreamTokenizer类读入由纯数字组成的字符串_第3张图片

		in.ordinaryChars('0', '9') ;
		in.wordChars('0', '9');

以上是我想到的解决方法,如有不足希望大家可以及时指出。

你可能感兴趣的:(java,acm竞赛)