0

メイン メソッドからメソッド WriteToFile を呼び出そうとしています。これが私がこれまでに持っているものです:

public void main(String [ ] args)
{
    String fileLoc = Environment.getExternalStorageDirectory() + File.separator + "AccelData.txt";

    File AccelData = new File(fileLoc);

    AccelData.WriteToFile(fileLoc, AccelData);
}

WriteToFile メソッドは次のとおりです。

public void WriteToFile(String fileLoc, File AccelData){
    //code in here
}

線の下に赤い線が表示されAccelData.WriteToFileます。これは、キャストを追加する必要があることを示しているだけで、修正されません。

ご協力いただきありがとうございます。

4

3 に答える 3

2

最初に、あなたのメイン メソッドの署名が正しくないと言いたいです。

public static void main(String [ ] args)
 {
   // do somthing 
 }

このリンクに移動「Hello World!」を詳しく見てみましょう。応用

次に、クラス名でメソッドを呼び出している場合、そのメソッドはstatic次のようになります

public static void WriteToFile(String fileLoc, File AccelData){
 //code in here
}

または、そのクラス オブジェクトでそのメソッドを呼び出す必要があります。

public static void main(String [ ] args)
 {
   String fileLoc = Environment.getExternalStorageDirectory() + File.separator + "AccelData.txt";

   File AccelData = new File(fileLoc);

   ClassName className= new ClassName();
   className.WriteToFile(fileLoc, AccelData);
}
于 2012-10-19T10:24:34.673 に答える
1

WriteToFile()メソッドjava.io.Fileは標準 Java File クラスで定義されていないため、インスタンスに適用できません。

コードに適用できる別の方法の 1 つは、メソッドを静的として宣言することです。

public static void WriteToFile(String fileLoc, File AccelData){
    //code in here
}

メインメソッドでは、名前を付けて呼び出すだけです。

WriteToFile(fileLoc, AccelData);

2 番目の方法は、メソッドをカプセル化するクラスのインスタンスを作成しWriteToFile()、メイン メソッドでインスタンスのそのメソッドを再度呼び出すことです。

YourClass obj = new YourClass();
obj.WriteToFile(fileLoc, AccelData);
于 2012-10-19T10:22:40.583 に答える
0

独自のクラスでメソッドを定義する場合は、次のAccelData.部分を削除する必要があります。

public static void WriteToFile(String fileLoc, File accelData) {
    //code in here
}

public static void main(String [ ] args)
{
    String fileLoc = Environment.getExternalStorageDirectory() + File.separator + "AccelData.txt";

    File accelData = new File(fileLoc);

    WriteToFile(fileLoc, accelData); 
}

変数の名前の頭文字を大文字にしないでください。それは紛らわしいです。メソッドについても同様です。また、メソッドを静的にする必要があります。

于 2012-10-19T10:23:23.923 に答える