-1

メイン クラスからのメソッドの呼び出しに関するヘルプが必要です。

メソッドを呼び出す必要があるため、それを処理するオブジェクトを作成しました。
以下に私の主な方法を引用します

 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;

}
}

エラーメッセージが表示されました:「シンボルが見つかりません。静的メソッドクラスタリングにアクセスしています」

解決するにはどうすればよいですか?構文を変更しようとしましたが、うまくいきませんでした。
どうもありがとう。

4

3 に答える 3

2

Allocation()メソッドを定義していませんSLRatio

注: static メソッドは classname で呼び出す必要があります (インスタンス メソッドと static の間の競合を避けるため)

于 2012-09-13T16:04:26.357 に答える
1

静的メソッドの場合、インスタンスを介して呼び出す必要はありません。

SLRatio .clustering(...);

十分なはずです。

メソッドの実装を忘れていたようですAllocation

別の提案、Java 命名規則、メソッド名は小文字で始まります。

于 2012-09-13T16:04:29.320 に答える
0

static適切であることが確実でない限り、使用しないでください。

staticこれはよくあるプログラミング エラーです。部分的には、Eclipseがアクセスできない変数やメソッドを作成することを提案し続けるためです。しかし、通常、これは正しい解決策ではありません。コンパイルの問題は修正されますが、多くの場合、アプリケーション ロジックが壊れます。

現在、問題はおそらくapatypeですが、パラメーターをString[][]渡していることです。メソッドがないString[]ため、コンパイルできません。clustering(String[] args)

真剣に、Java の基礎をもっと学ぶ必要があります。多分から。

于 2012-09-14T06:41:48.613 に答える