志愿军空战:java 如何修改 ,请诸位大哥大姐们帮忙!
来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 09:11:05
我的目的是输出目录,源程序如下:
import java.io.*; //I/O流
import java.util.*; //Calendar,Timer,Linklist,Stack,TreeSet,Hashtable...
public class digester{
static int indLevel = -1;
public static void main(String args[]){
listPath(new File(args[0]));
}
public void listPath(File path){
File files[];
indLevel++;
files = path.listFiles();
Arrays.sort(files);
for (int i=0;i<files.length;i++){
for(int j=0;j<indLevel;j++){
System.out.print(" ");
}
System.out.println(files[i].toString());
if(files[i].isDirectory()){
listPath(files[i]);
}
}
indLevel--;
}
}
提示的错误信息: 无法从静态上下文中引用非静态 方法 listPath(java.io.File) listPath(new File(args[0]));
怎么修改才能够调用呢?
把listPath改成静态方法public static void listPath(File path){
或者在main方法引用时改为对象的方法引用
digester d = new digester();
d.listPath(new File(args[0]));
另外 类名最好首字母大写 Digester
import java.io.*; //I/O流
import java.util.*; //Calendar,Timer,Linklist,Stack,TreeSet,Hashtable...
public class digester
{
static int indLevel = -1;
public static void main(String args[])
{
listPath(new File(args[0]));
}
public static void listPath(File path)
{
File files[];
indLevel++;
files = path.listFiles();
Arrays.sort(files);
for (int i=0;i<files.length;i++)
{
for(int j=0;j<indLevel;j++)
{
System.out.print(\" \");
}
System.out.println(files[i].toString());
if(files[i].isDirectory())
{
listPath(files[i]);
}
}
indLevel--;
}
}
santa 兄的做法是最简洁的了
同意santa的