需要帮助从主类调用方法。
我需要调用一个方法,因此我创建了一个对象来处理它 下面我引用我的主要方法
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;
}
}
我收到错误消息: “找不到符号,访问静态方法聚类”
我能做些什么来解决它?我试图改变语法,但它没有用。
非常感谢你。
答案 0 :(得分:2)
您未在Allocation()
SLRatio
注意:应使用classname调用静态方法(以避免实例方法与静态之间的混淆)
答案 1 :(得分:1)
如果是静态方法,则不需要通过实例调用它。
SLRatio .clustering(...);
应该足够了。
似乎你忘了实施Allocation
方法。
另一个建议是,java命名约定,方法名称以小写字母开头。
答案 2 :(得分:0)
除非您确定合适,否则请勿使用static
。
这是一个流行的编程错误,部分原因是eclipse不断建议在无法访问变量和方法时static
。但通常情况下,这不是正确的解决方案。虽然它修复了编译问题,但它经常会破坏应用程序逻辑。
目前,您的问题可能是apa
的类型为String[][]
,但您正在向其传递String[]
参数。所以它无法编译,因为没有方法clustering(String[] args)
。
说真的,您需要学习更多Java基础知识。也许来自书。