String[] files= {};
int[] fileNumber = {0};
String commandPromptTxt = "";
String CPTDummy = "";
String blankDummy = "";
String[] currentFile = {};
void makeFile(String[] file, int fileNum, String name1, int level1, int[]parents1, int[] children1, String type1) {
//Warning if you make a file and use the same file number more than once you will override the file
files[fileNum]= {"10"};
};
所以我在处理过程中有一段惊人的代码,我收到错误unexpected token:{
我也说files[fileNum] = {};
,即使我在括号中输入值,我也会得到同样的错误。有什么想法解决这个问题?感谢。
答案 0 :(得分:1)
为什么要包含括号?
您使用的语法是数组初始值设定项。你在这里正确使用它:
String[] files= {};
这会将您的files
变量初始化为空数组。您还可以在此处正确使用语法:
int[] fileNumber = {0};
这会将fileNumber
变量初始化为具有单个索引的数组,并且该索引中的值为0
。
这条线不再有意义:
files[fileNum]= {"10"}
首先,您已将files
变量初始化为数组且索引为零。这意味着即使这会编译,你也会获得ArrayIndexOutOfBoundsException
,因为你正在尝试使用没有任何数组的索引。
其次,您滥用了数组初始化语法。我很确定你不希望你的数组的索引也是数组,否则你必须让它们成为2D数组。
所以,总结一下,你需要做两件事:
1:初始化数组以实际拥有索引。像这样:
String[] files = new String[10]; //array with 10 indexes
2:停止滥用数组初始化语法,只是将值传递给数组索引:
files[fileNum]= "10";
尽管如此,您最好还是使用ArraysLists
。那么你不需要知道你提前有多少索引,你可以简单地调用add()
函数来添加它们。
可以在the Processing reference找到更多信息。