Scanner scan = new Scanner("one,5,true,3,false,true");
      scan.useDelimiter(",");
      while(scan.hasNext()){
         if(scan.hasNextBoolean())
         System.out.println(scan.nextBoolean());
      }
   }
居然执行不成功。

解决方案 »

  1.   

    scan.nextBoolean()

    scan.next()
    吧?
      

  2.   

    而且scan.hasNextBoolean() 也应该是 
    scan.hasNext()
      

  3.   

    刚刚看错了 
    应该是这样
    Scanner scan = new Scanner("one,5,true,3,false,true");
    scan.useDelimiter(",");
    while (scan.hasNext()) {
    if (scan.hasNextBoolean())
    System.out.println(scan.nextBoolean());
    else
    scan.next();
    }
      

  4.   


    Scanner scan = new Scanner("one,5,true,3,false,true");
            scan.useDelimiter(",");
            while (scan.hasNext()) {
                if (scan.hasNextBoolean())  //之前的代码有问题,当不是boolean值的时候会进入死循环
                    System.out.println(scan.nextBoolean());
                else
                    scan.next();  //所以无论是不是boolean也要next一下
            }
      

  5.   

     if (scan.hasNextBoolean()) 后就不走了,后面的都没scan到,还要用scan.next()
      

  6.   

    既然都死活往前走一步,那么
    next();

    nextBoolean
    又有什么区别呢??