[英]error on calling static method from void java
在从主类调用方法时需要帮助。
我需要调用一个方法,因此我创建了一个对象来处理它。
下面我引用我的主要方法
public static void main(String[] args) {
// TODO code application logic here
SLRatio sl= new SLRatio();
sl.clustering(apa);
}
这是我需要调用的方法
public class SLRatio {
public static String [][]clustering(String[][]apa) {
System.out.println("Cluster 1");
int a = apa.length/3;
String [][] cluster1=new String [a][apa[0].length];
for (int i =0; i<a; i++) {
for (int j=0;j<apa[0].length;j++) {
cluster1 [i][j] = apa[i][j];
}
}
for (int b = 0; b < cluster1.length; b++) {
for (int c = 0; c < cluster1[0].length; c++) {
System.out.print(cluster1[b][c] + "\t");
}
System.out.println("");
}
System.out.println("\n");
return cluster1;
}
}
我收到错误消息:“找不到符号,正在访问静态方法集群”
我该怎么解决? 我试图更改语法,但是没有用。
非常感谢。
您没有在SLRatio
定义方法Allocation()
注意:应使用类名调用静态方法(以避免实例方法与静态方法之间的冲突)
如果它是静态方法,则无需通过实例调用它。
SLRatio .clustering(...);
应该足够了。
看来您忘记了实施Allocation
方法。
另一个建议是Java命名约定,方法名称以小写字母开头。
除非确定合适,否则不要使用static
。
这是一个流行的编程错误,部分原因是eclipse一直建议在无法访问变量和方法时使它们变为static
。 但是通常,这不是正确的解决方案。 它解决了编译问题,但通常会破坏应用程序逻辑。
现在,您的问题可能是apa
具有String[][]
类型,但是您正在向其传递String[]
参数。 由于没有方法clustering(String[] args)
,因此无法编译。
认真地说,您需要学习更多Java基础知识。 也许是一本书 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.