首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用处理,并在我的数组上获得一个意外的令牌。#黑客马拉松

使用处理,并在我的数组上获得一个意外的令牌。#黑客马拉松
EN

Stack Overflow用户
提问于 2016-02-20 23:08:07
回答 1查看 144关注 0票数 0
代码语言:javascript
复制
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] = {};,甚至当我在括号中输入值时,我也会得到相同的错误。有什么解决办法吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-21 01:04:29

你为什么要把括号包括进去?

您使用的语法是数组初始化器。你在这里正确使用它:

代码语言:javascript
复制
String[] files= {};

这会将files变量初始化为空数组。您还在这里正确地使用了语法:

代码语言:javascript
复制
int[] fileNumber = {0};

这会将fileNumber变量初始化为具有单个索引的数组,在该索引中是值0

这条线不再有意义了:

代码语言:javascript
复制
files[fileNum]= {"10"}

首先,您已经将files变量初始化为具有零索引的数组。这意味着,即使这样编译,也会得到一个ArrayIndexOutOfBoundsException,因为您试图使用没有任何索引的数组的索引。

其次,您滥用了数组初始化语法。我很确定您不希望数组的索引也是数组,否则就必须使它们成为2D数组。

因此,总结一下,你需要做两件事:

1:初始化数组,使其具有实际的索引。就像这样:

代码语言:javascript
复制
String[] files = new String[10]; //array with 10 indexes

2:停止滥用数组初始化语法,只向数组索引传递值:

代码语言:javascript
复制
files[fileNum]= "10";

不过,使用ArraysLists可能会更好。然后,您不需要提前知道有多少索引,只需调用add()函数就可以向它们添加内容。

更多信息可以在加工参考中找到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35530221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档