我正在开发一个项目,我需要一次扫描一行并将其传递到另一种进行更多扫描的方法中。目前我有
public static void inputStats(Scanner scan)throws FileNotFoundException {
while (scan.hasNextLine()) {
String text = scan.nextLine();
printDuplicates(text);// my other method
}
}
目前java告诉我:String无法转换为Scanner 我的另一种方法只是获取传入的扫描仪,它的开始是: printDuplicates(扫描仪扫描){ 我不确定如何传递正确的内容,或强制它。
我的替代解决方案是将scanner.next停在一行的末尾。
我尝试通过创建一个新的扫描仪并将其而不是字符串传递来传递扫描仪。 我尝试用 () 强制输入。 我已经尝试了据我所知不使用扫描仪两次的所有方法。
您可以创建一个
Scanner
来扫描 String
,只需将字符串传递给其接受字符串的 构造函数即可。
printDuplicates(new Scanner(text));
如果需要扫描代币,也可以考虑让
printDuplicates
直接拿一个String
,并在printDuplicates
内部创建扫描仪。
void printDuplicates(String text) {
Scanner scan = new Scanner(text);
// ...
}