不是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找到合适的构造函数(没有参数)
答案 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)
如果你仔细看看你的电话 -
FileScanner fs = new FileScanner(); //calls a constructor without any argument
实际上你的默认构造函数也有一个参数包含为
public FileScanner(File f)
所以没有合适的构造函数来解决你想要使用的东西。
要么定义了public FileScanner(){
个构造函数,要么调用带有filename
的构造函数,因为@Null Saint建议。