任何人都可以帮我解决这个问题吗?
'public class DataBase {
static Article[] arts;
public static int FileNumber;
public static String[] FileList;
static File root;
public DataBase(String ID, String TA)
{
File root=new File(pth);
FileList=root.list().length;
String[] FileList=new String[FileNumber];
for(int i=0;i<FileNumber;i++)
{
FileList[i]=new String(root.list()[i]);
}
arts=new Article[FileNumber];
}
public void phase_0() //Initializare lista articole
{
for(int i=0;i<FileNumber;i++)
{
System.out.println(FileList[i]); ******
}
}
}'
我在标有 ** 的行上遇到运行时错误。我对这个问题一无所知。有人可以帮忙吗?
为了澄清,在静态void main中我首先使用构造函数
DataBase db=new DataBase(...)
然后
db.phase_0();
我在指定行的最后一个方法上得到了错误。 Thanx提前!必要时会插入PATH
,我保证这不是问题
答案 0 :(得分:3)
您正在用此行为public static String[] FileList
着色:
String[] FileList=new String[FileNumber];
应该是:
FileList = new String[FileNumber];
答案 1 :(得分:1)
您的全局FileList
数组会被构造函数中的本地数组覆盖。从本地声明中删除String[]
以使其成为全局。