找不到适合FileScanner的构造函数(无参数)

时间:2016-04-17 04:05:16

标签: java

不是Java,我写了一个类来读取文件并计算文件中的单词,句子和字母的数量。 这是我的构造函数

//default constructor
public FileScanner(File f){
    f = null;
}

//constructor (file)
public FileScanner(int word, int letter, int sentence, int averageWord){
    numWord = word;
    numLetter = letter;
    numSentence = sentence;
    average = averageWord;
    FileScanner fs = new FileScanner();
}

//constructor (String fileName)
public FileScanner(String fileName){
    name = fileName;
}

这里的错误没有为FileScanner找到合适的构造函数(没有参数)

2 个答案:

答案 0 :(得分:2)

你有另外两个构造函数,其中一个需要一个File变量,另一个需要一个String变量,它是文件名,你试图调用FileScanner fs = new FileScanner();而没有任何参数但是java找不到一个构造函数在没有参数的情况下,为了解决这个问题,要么创建一个没有参数的新构造函数,要么传递一个参数: -

FileScanner fs = new FileScanner(new File("myFile.txt")); 

FileScanner fs = new FileScanner("myFile.txt");

这将解决(无参数)异常,如果您发布的代码是您的项目代码,您可能会得到其他异常,因为它什么也没做......很有用......

答案 1 :(得分:1)

  1. @Hovercraft指出你正在构造函数中调用构造函数。
  2. 如果你仔细看看你的电话 -

    FileScanner fs = new FileScanner(); //calls a constructor without any argument
    
  3. 实际上你的默认构造函数也有一个参数包含为

    public FileScanner(File f)
    

    所以没有合适的构造函数来解决你想要使用的东西。

    要么定义了public FileScanner(){个构造函数,要么调用带有filename的构造函数,因为@Null Saint建议。