Java调用方法失败,方法未定义



我写了一个方法来检查一个特定的文件,以计算它有多少行:

public int countFileRecords() 
        {
        Scanner in = new Scanner (new FileInputStream("src/data/VinylRecords.txt"));
        int lines = -1;
        while (in.hasNextLine()) //loop while there is a new line
        {lines +=1; // add one to my counter
        in.nextLine();} // move to the next line and loop again
        return lines;
        }

但是当我尝试从另一个类调用它时,我得到一个错误"类型的方法是未定义的">

public class Test 
{
    public static void main(String[] args)
{
System.out.println(countFileRecords());
}

我还在学习java,我想我需要做点什么来告诉这个班该调用什么。

我希望能够调用并运行该方法来检查当前文件中的行数-但是我认为所有的信息都在方法中,所以这应该可以工作。我想知道为什么没有,这样我就可以纠正它。谢谢。

public class Test 
{
    public static void main(String[] args)
{
System.out.println(countFileRecords());
}

像这样调用方法(只使用调用它的方法名)将不会编译,您可以在静态方法中调用同一类中的另一个静态方法,或者在另一个类中声明的导入静态方法。

所以你应该在声明中将countFileRecords方法设置为static(添加static关键字),然后使用import static导入,可以直接使用方法名调用它:


package com;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
    public static int countFileRecords() 
    {
        Scanner in=null;
        try {
            in = new Scanner(new FileInputStream("src/data/VinylRecords.txt"));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        int lines = -1;
        while (in.hasNextLine()) // loop while there is a new line
        {
            lines += 1; // add one to my counter
            in.nextLine();
        } // move to the next line and loop again
        return lines;
    }
}

package com;
import static com.Main.countFileRecords;
public class Test {
    public static void main(String[] args) {
        System.out.println(countFileRecords());
    }
}

相关内容

  • 没有找到相关文章

最新更新