调用 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);
}
我是 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);
}