当前位置:编程学习 > JAVA >>

关于Scanner的一点小问题!!

用Scanner扫描文档的时候,扫描一次后就到了文档结尾,可不可以让它再回到头开始扫描,或者用循环来实现多次扫描 --------------------编程问答-------------------- 判断到结尾,再从头开始啊,不就一个if么 --------------------编程问答--------------------
引用 1 楼 huxiweng 的回复:
判断到结尾,再从头开始啊,不就一个if么

如何回到头呢==  就是这个问题我昨天搞到三点多了,智商低了求不鄙视 --------------------编程问答--------------------
就是这个问题  每次都只输出第一个name, 是不是就是处理完第一个name后,Scanner就扫描到了文档结尾,然后后面的name就都没有扫描 --------------------编程问答-------------------- 如果到末尾调用下scanner.reset(); --------------------编程问答--------------------
引用 4 楼 suciver 的回复:
如果到末尾调用下scanner.reset();

试了下还是只有一个名字输出啊。。。泪奔。。
还有调用后是不是文件要重新再传进来,而且分隔符也要重新设置啊 --------------------编程问答-------------------- 楼主是要用Scanner读取文本内容么?
可以用Scanner.hasNextLine
Scanner sc = new Scanner(new File("C:/test.txt"));
while(sc.hasNextLine()){
System.out.println(sc.nextLine());
}


文本内容为:

输出结果为:
name
address
ip

不知能否帮到楼主。 --------------------编程问答-------------------- 外面套循环,重新new scanner对象贝 --------------------编程问答--------------------
引用 3 楼 u011228889 的回复:

就是这个问题  每次都只输出第一个name, 是不是就是处理完第一个name后,Scanner就扫描到了文档结尾,然后后面的name就都没有扫描

个人看法:
楼主可以把for循环放在while循环里,这样就不存在把scan“倒回去”的问题。


while (scan.hasNext()) {
String sourse = scan.next();
for (int i = 0; i < name.length; i++) {
String target = name[i];
System.out.println("人物 " + target + " 出现的次数: " +stringFind( sourse, target));
}
}
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,