我正在尝试从main方法调用一个方法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
行下面有一条红线,只是说我应该添加一个无法修复它的演员。
感谢您的帮助。
答案 0 :(得分:2)
首先我想说你的主要方法的签名是不正确的,它是。:
public static void main(String [ ] args)
{
// do somthing
}
转到此链接 A Closer Look at the "Hello World!" Application
第二,你正在调用一个带有类名的方法,那么该方法应该是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);
}
答案 1 :(得分: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);
答案 2 :(得分: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);
}
您不应该使用初始资本命名变量。这令人困惑。方法也是如此。而你确实需要使这些方法保持静态。