黑马程序员技术交流社区

标题: 关于Scanner分割符的疑问 [打印本页]

作者: 李东城    时间: 2013-2-15 18:29
标题: 关于Scanner分割符的疑问
  1. package com.itheima;

  2. import java.util.Scanner;

  3. public class ScannerDemo {

  4. public static void main(String[] args) {
  5. // String s = "aa,12,3.4";
  6. Scanner scanner = new Scanner(System.in).useDelimiter(",");

  7. System.out.println(scanner.next());
  8. System.out.println(scanner.nextInt());
  9. System.out.println(scanner.nextFloat());
  10. }
  11. }
复制代码
为什么我用s代替System.in就可以分割字符,而我用键盘录入却总是少1个呢?
作者: jonn    时间: 2013-2-15 18:42
我看输入的数据不符合格式要求会抛异常吧,最好对系统输入的字符在扫描的时候进行条件判断...
作者: 李东城    时间: 2013-2-15 18:44
赵文 发表于 2013-2-15 18:42
我看输入的数据不符合格式要求会抛异常吧,最好对系统输入的字符在扫描的时候进行条件判断... ...

你就按上面给的字符串那样输入也不行,而直接用字符串就可以...
作者: jonn    时间: 2013-2-15 18:44
兄弟,帖子别发错地方了,请发在第 十七届 或 云2届
作者: 李东城    时间: 2013-2-15 18:51
赵文 发表于 2013-2-15 18:44
兄弟,帖子别发错地方了,请发在第 十七届 或 云2届

那边帖子多,不好加分啊...  希望这边的版主还在...
作者: jonn    时间: 2013-2-15 18:58
李东城 发表于 2013-2-15 18:44
你就按上面给的字符串那样输入也不行,而直接用字符串就可以...

貌似系统输入字符串切割,字符串末尾没,字符,最后一个根本没纳入到容器里去,所以切割的应该少了一个
作者: jonn    时间: 2013-2-15 18:58
李东城 发表于 2013-2-15 18:44
你就按上面给的字符串那样输入也不行,而直接用字符串就可以...

貌似系统输入字符串切割,字符串末尾没,字符,最后一个根本没纳入到容器里去,所以切割的应该少了一个
作者: jonn    时间: 2013-2-15 19:00
李东城 发表于 2013-2-15 18:51
那边帖子多,不好加分啊...  希望这边的版主还在...

哈哈,十届的版主不知道在哪儿工作呢,怎么有人给你加分呢?:lol

作者: 李东城    时间: 2013-2-15 19:01
赵文 发表于 2013-2-15 18:58
貌似系统输入字符串切割,字符串末尾没,字符,最后一个根本没纳入到容器里去,所以切割的应该少了一个 ...

当使用默认的分隔符 '空格' 时就可以正确分割,而不会漏掉最后一个。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2