首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

scanner system.in useDelimiter疑问,该怎么解决

2012-05-29 
scanner system.in useDelimiter疑问Java codeimport java.util.Scannerpublic class Test {public stati

scanner system.in useDelimiter疑问

Java code
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

最后那位怎么不见了



[解决办法]
5后面要加,
[解决办法]
当Scanner从System.in中读数据时,调用next()或hasnext()时,如果没数据了,系统会陷入等待,等你从键盘录入。换句话说,你把hasnext()写到while循环里,程序一定会因为数据不足而陷入停顿的

Scanner从System.in中读数据,要么你明确的知道你会输入几个数据,就调用几个next()
要么你读入一行,再对这行进行分解,例如:
Java code
        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());        } 

热点排行