我正在尝试创建代码并且我一直在收到编译器错误(只是检查它,我没有完成)。我做错了什么:
if (numTeams = 20)
Runner[] allRunners = ArrayUtils.addAll(team1.arrayRunners(), team2.arrayRunners(),
team3.arrayRunners(), team4.arrayRunners(), team5.arrayRunners(), team6.arrayRunners(),
team7.arrayRunners(), team8.arrayRunners(), team9.arrayRunners(), team10.arrayRunners(),
team11.arrayRunners(), team12.arrayRunners(), team13.arrayRunners(), team14.arrayRunners(),
team15.arrayRunners(), team16.arrayRunners(), team17.arrayRunners(), team18.arrayRunners(),
team19.arrayRunners(), team20.arrayRunners());
我有一个ArrayUtils的导入和声明,这样可以吗?
我之前也有这个:
Runner [] allRunners = new Runner[numTeams*7];
扫描numTeams。
我得到的错误是:
xcMeet.java:156: '.class' expected
Runner[] allRunners = ArrayUtils.addAll(team1.arrayRunners(), team2.arrayRunners(),
xcMeet.java:156: not a statement
Runner[] allRunners = ArrayUtils.addAll(team1.arrayRunners(), team2.arrayRunners(),
xcMeet.java:156: illegal start of expression
Runner[] allRunners = ArrayUtils.addAll(team1.arrayRunners(), team2.arrayRunners(),
xcMeet.java:156: ';' expected
Runner[] allRunners = ArrayUtils.addAll(team1.arrayRunners(), team2.arrayRunners(),
感谢您的帮助!
答案 0 :(得分:0)
if (numTeams = 20)
不应该是:
if (numTeams == 20)
除此之外,我需要看看team1是什么。看起来它们不是类,或者不是从Object扩展的类。
如果我是你,我会考虑团队[x]而不是硬编码team1,team2,team3。
- 更多 -
好的,我不得不深入挖掘我的一些旧代码,所以让我们看看这是否有帮助,因为我认为这与你正在做的类似。
这生成了ContentValues的ArrayList。发送的项目数和类型类型。
private ArrayList<ContentValues> wondrousCV(int number,ItemType type)
{
ArrayList<ContentValues> list = new ArrayList<ContentValues>();
ArrayList<String> wondrous_item = wondrous(number,type);
ContentValues temp = null; //new ContentValues();
if (wondrous_item != null)
{
for (int i = 0; i < wondrous_item.size();i++)
{
temp = new ContentValues();
temp.put("name", wondrous_item.get(i));
temp.put("cost", -1);
temp.put("type", "item");
list.add(temp);
}
}
else
{
list = null;
}
return list;
}
它是从另一个函数调用的:
boolean generateTreasureCV(int value, TreasureType type)
{
// List of strings generated to be the treasure
treasureCV = new ArrayList<ContentValues>();
ContentValues temp;
treasureCV.addAll(wondrousCV(10,3));
treasureCV.addAll(potionsCV(1,ItemType.LesserMinor));
treasureCV.addAll(scrollsCV(1,ItemType.LesserMinor));
....}
因此,根据您的需要,您的MasterRunners列表类似于我的treasureCV ArrayList,但类型为runner而不是ContentValues。 addAll只接受一个ArrayList作为参数,因此您需要执行类似
的操作RunnersList.addAll(Team1.getRunners());
RunnersList.addAll(Team2.getRunners());
RunnersList.addAll(Team3.getRunners());
这就是为什么我建议您改为团队[x],这样你就可以遍历所有团队。
for (int I = 0; I < Team.sizeof; I++)
{
RunnersList.addAll(Team[I].getRunners());
}
然后,如果您拥有的团队数量不同,则不需要对每个变量大小进行不同的检查
答案 1 :(得分:0)
如果它的Apache的库那么没有这样的方法(addAll)可以采用var-args。 该方法已重载但最多可能需要两个参数。