调用 Java 方法时出错

Error when Calling a Java Method

我是 Java 的新手,在调用方法时遇到问题。我希望有人能帮我弄清楚发生了什么事。

我的代码如下:

public class QuickFindUF
{
    private int[] id;
    public QuickFindUF(int N)
    {
        id = new int[N];
        for (int i = 0; i < N; i++)
            id[i] = i;
    }

    public boolean connected(int p, int q)
    { return id[p] == id[q]; }

    public void union(int p, int q)
    {
        int pid = id[p];
        int qid = id[q];
        for (int i = 0; i < id.length; i++)
            if (id[i] == pid) id[i] = qid;
    }
}

我查看了 Stack 并认为 way to call my method 将使用以下代码:QuickFindUF x = new QuickFindUF(10);

当我 运行 时,我得到一个错误

QuickFindUF.java:27: error: class, interface, or enum expected
QuickFindUF x = new QuickFindUF(10);
^
1 error

如果有人能指出正确的方向,我将不胜感激。谢谢。

如果您发布的代码是您的完整代码,那么您似乎需要一个 main 方法。

public class QuickFindUF
{
    //
    // add this so you can run code when your program executes
    //
    public static void main(String[] args)
    {
        QuickFindUF x = new QuickFindUF(10);
        //
        // call your methods on x here
        // e.g.
        // boolean connected = x.connected(2, 3);
        //
    }

    private int[] id;
    public QuickFindUF(int N)
    {
        id = new int[N];
        for (int i = 0; i < N; i++)
            id[i] = i;
    }

    public boolean connected(int p, int q)
    { return id[p] == id[q]; }

    public void union(int p, int q)
    {
        int pid = id[p];
        int qid = id[q];
        for (int i = 0; i < id.length; i++)
            if (id[i] == pid) id[i] = qid;
    }
}

您的主要方法可能在 class 之外,您需要像这样在 class 中声明主要方法:

public static void main(String []args){

QuickFindUF x = new QuickFindUF(10);

}