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 类中定义。

您可以应用于代码的另一种方法是将您的方法声明为静态:

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

在 main 方法中,只需用它的名称调用它:

WriteToFile(fileLoc, AccelData);

第二种方法可能是创建一个封装WriteToFile()方法的类的实例,然后在 main 方法中再次在您的实例上调用该方法:

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 回答