import java.util.*;
public class A998 { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
           String csv = "sue,5,true,3";
           Scanner  scanner = new Scanner(csv);
           scanner.useDelimiter(",");
           int age = scanner.nextInt();
           


}}

解决方案 »

  1.   

    sue,5,true,3
    这里面不是全部的数字
    nextInt读取的是数字
    所以抛异常
      

  2.   

    int age = scanner.nextInt();这步出错了。不知道你要完成什么功能。
      

  3.   

    将Delimiter改成
    \\s*,\\s*然后
    String temp = scanner.next();
    int age = scanner.nextInt();
    String temp2 = scanner.next();
    int temp3 = scanner.nextInt();
      

  4.   

    因为你定义了String csv = "sue,5,true,3";
    而里面取到的任何部分都是字符串csv的一部分,比如你用,分开了,而得到的5也是一个字符串
    下面的方法可以拿出5来:
    import java.util.*;public class A998 {    public static void main(String[] args) {
    String csv = "sue,5,true,3";
    Scanner scanner = new Scanner(csv);
    scanner.useDelimiter(",");
    List list = new ArrayList();
    while (scanner.hasNext()) {
    list.add(scanner.next());
    }
    int age = Integer.parseInt(list.get(1).toString());
    System.out.println(age);
                  }
            }
    打印的结果是5