import java.util.Scanner;public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
sc.useDelimiter(",");
while (sc.hasNext()) {
System.out.println(sc.next());
}
sc.close();
}
}输入 1,2,3,4,5
结果是
1
2
3
4最后那位怎么不见了

解决方案 »

  1.   

    但import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.util.Scanner;public class Test {
    public static void main(String[] args) throws FileNotFoundException {
    Scanner sc = new Scanner(
    new BufferedReader(new FileReader("12345.txt")));
    sc.useDelimiter(",");
    while (sc.hasNext()) {
    System.out.println(sc.next());
    }
    sc.close();
    }
    }
    12345.txt里的内容是
    1,2,3,4,5则输出
    1
    2
    3
    4
    5
      

  2.   

    当Scanner从System.in中读数据时,调用next()或hasnext()时,如果没数据了,系统会陷入等待,等你从键盘录入。换句话说,你把hasnext()写到while循环里,程序一定会因为数据不足而陷入停顿的Scanner从System.in中读数据,要么你明确的知道你会输入几个数据,就调用几个next()
    要么你读入一行,再对这行进行分解,例如:
            Scanner sc = new Scanner(System.in);
            String s = sc.nextLine();
            Scanner Scanner = new Scanner(s);
            Scanner.useDelimiter(",");
            while(Scanner.hasNext()) {
             System.out.println(Scanner.next());
            }
      

  3.   

    不是已经按回车来确定我输入的字符串了吗,这应该可以确实我要输入的内容吧?import java.util.Scanner;
    public class Test {
    public static void main(String[] args)
    {
    Scanner scan=new Scanner(System.in);
    while(scan.hasNext()){
    System.out.println(scan.next());
    }

    }
    }那为什么我输入 1 2 3 4 5   //5后面没有空格
    输出的结果是
    1
    2
    3
    4
    5
    而换了分隔符却不行,难道回车里含了空格,回车应该是\n\r吧?