java.lang.Integer类的parseInt方法的问题

deuso 2005-05-17 04:10:43
对于这句
......
StringTokenizer stonzr= new StringTokenizer(stdIn.readLine(), DELIM);
quantity = Integer.parseInt(stonzr.nextToken()); //1
......
理论上并不会因Integer.parseInt()改变stonzr的值,
但是我再执行stonzr.countTokens()后结果并不与输入相同,为什么?
如我输入的是ABC_100_100
stonzr.countTokens()在1之前执行是3
在1之后不是3
...全文
209 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OnlyFor_love 2005-05-17
  • 打赏
  • 举报
回复
countTokens()用来计算nextToken()方法能用多少次

因此是自减的
fxltsbl 2005-05-17
  • 打赏
  • 举报
回复
首先支持二楼。
三楼的意思好像是说在stonzr.nextToken();语句之后,stonzr的值有所改变,如果是这个意思的话,我认为不对。
在jdk文当中countTokens()的定义为:
Calculates the number of times that this tokenizer's nextToken method can be called before it generates an exception.
所以,countTokens()的值就是nextToken()方法在出现异常之前可以调用的次数。正如二楼所说,nextToken()执行一次,countTokens()就减一。
xf_luo 2005-05-17
  • 打赏
  • 举报
回复
countTokens()就是用来计算stonzr的nextToken()方法能用多少次
jihanzhong 2005-05-17
  • 打赏
  • 举报
回复
stonzr.nextToken();改变了自己
就象String的trim()方法
puretls 2005-05-17
  • 打赏
  • 举报
回复
stonzr.countTokens()返回的是the number of tokens remaining in the string using the current delimiter set.每次调用nextToken()都会减1。
jnzsk 2005-05-17
  • 打赏
  • 举报
回复
关注中,帮你顶!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧