删除字符串中的句号

时间:2017-10-14 22:46:48

标签: java

我正在尝试读取文件vectors,逐个获取所有单词,然后从读取的单词中删除点和逗号。

这是我的代码:

test.txt

编译代码时,我收到此错误import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class Utils { public static void readFile(){ Scanner word = null; try { word = new Scanner(new File("test.txt")); } catch (FileNotFoundException e) { e.printStackTrace(); } while (word.hasNextLine()) { Scanner s2 = new Scanner(word.nextLine()); Utils.cleanWord(s2); while (s2.hasNext()) { String s = s2.next(); System.out.println(s); } } } private static void cleanWord(String word){ word = word.replace(".", ""); }

是否有人知道我应该为Error:(18, 29) java: incompatible types: java.util.Scanner cannot be converted to java.lang.String方法提供哪种类型,以便它可以对单词执行删除操作。 谢谢

1 个答案:

答案 0 :(得分:1)

您正在呼叫Utils.cleanWord(s2),其中s2Scanner而不是String

您的代码应为:

while(s2.hasNext()) { 
    String s = s2.next(); //or s2.nextLine(); depending on what you want..
    s = Utils.cleanWord(s);
    System.out.println(s); 
}

此外,Java参数是引用,而不是指针。您无法分配到word参数并期望它在函数外部更改..

private static void cleanWord(String word){
    word = word.replace(".", "");
}

实际应该是:

private static String cleanWord(String word){
    return word.replace(".", "");
}

因为您无法修改参数..尝试将导致修改参数的本地引用而不是参数本身。