问题描述
用Scanner扫描文档的时候,扫描一次后就到了文档结尾,可不可以让它再回到头开始扫描,或者用循环来实现多次扫描
解决方案
解决方案二:
判断到结尾,再从头开始啊,不就一个if么
解决方案三:
引用1楼huxiweng的回复:
判断到结尾,再从头开始啊,不就一个if么
如何回到头呢==就是这个问题我昨天搞到三点多了,智商低了求不鄙视
解决方案四:
就是这个问题每次都只输出第一个name,是不是就是处理完第一个name后,Scanner就扫描到了文档结尾,然后后面的name就都没有扫描
解决方案五:
如果到末尾调用下scanner.reset();
解决方案六:
引用4楼suciver的回复:
如果到末尾调用下scanner.reset();
试了下还是只有一个名字输出啊。。。泪奔。。还有调用后是不是文件要重新再传进来,而且分隔符也要重新设置啊
解决方案七:
楼主是要用Scanner读取文本内容么?可以用Scanner.hasNextLineScannersc=newScanner(newFile("C:/test.txt"));while(sc.hasNextLine()){System.out.println(sc.nextLine());}
文本内容为:输出结果为:nameaddressip
不知能否帮到楼主。
解决方案八:
外面套循环,重新newscanner对象贝
解决方案九:
引用3楼u011228889的回复:
就是这个问题每次都只输出第一个name,是不是就是处理完第一个name后,Scanner就扫描到了文档结尾,然后后面的name就都没有扫描
个人看法:楼主可以把for循环放在while循环里,这样就不存在把scan“倒回去”的问题。while(scan.hasNext()){Stringsourse=scan.next();for(inti=0;i<name.length;i++){Stringtarget=name[i];System.out.println("人物"+target+"出现的次数:"+stringFind(sourse,target));}}