首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >六条“主”java.lang.ArrayIndexOutOfBoundsException: 2错误消息

六条“主”java.lang.ArrayIndexOutOfBoundsException: 2错误消息
EN

Stack Overflow用户
提问于 2017-02-15 03:47:54
回答 2查看 262关注 0票数 0

当我测试下面的代码时,它在一个数据集中运行良好,但是当我用另一个数据集测试它时,它给了我这个线程。

代码语言:javascript
复制
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
    at psofc2.FeatureConstruction.classify(FeatureConstruction.java:192)
    at  pofc2.FeatureConstruction.calacc_binary(FeatureConstruction.java:180)
    at psofc2.FeatureConstruction.getOp(FeatureConstruction.java:97)
    at psofc2.FeatureConstruction.fitness(FeatureConstruction.java:44)
    at psofc2.Swarm.iterate(Swarm.java:87)
    at psofc2.Main.main(Main.java:160)

我在这个网站上搜索了所有匹配的案例,但是我真的没有找到我的答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-15 06:07:44

更新

FeatureConstruction在分类方面存在逻辑错误。您假设参数“培训”中的元素不超过2个。

代码语言:javascript
复制
   public double classify(Dataset training, Dataset testing) {
        // initial the threshold and two classes
         Object[] clzz = new Object[training.classes().size()]; // <--- Init the array to the size of training
        int index = 0;
        for (Object o : training.classes()) {
            clzz[index] = o; //<-- Now everything in training has a place to be.
            index++;
        }

在堆栈跟踪中,您提供的问题在类的第87行上初始化;但是,在同一个包中,从类FeatureConstruction的第192行抛出异常。似乎在Particle.getPosition()和Problem.fitness(位置)之间存在一个隐含的依赖关系,这是不满意的。

我猜想问题扩展了FeatureConstruction,这个问题与问题实现和父类之间的状态管理和期望有关。

我建议检查调用堆栈中的变量,直到FeatureConstrction.classify()。确定与该特定调用相关的问题的状态,并构建一个JUnit测试来复制该条件。这可以帮助隔离问题和加速测试修改以纠正。

Junit测试将有助于理解类的状态,并可能允许进行检查以防止出现这种状态。最后,我预计至少有三件事会是罪魁祸首:

  1. FeatureConstruction在分类函数中有一个逻辑问题。
  2. 问题(假定是FeatureConstruction的扩展)不是考虑父类的状态,而是缺少某种初始化或更新调用来保持父数据模型的同步。
  3. 在一种情况下,控制问题和粒子之间的依赖的过程有一个逻辑错误,并且设置错误地配置了数据关联。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2017-02-15 03:58:18

尝试对循环条件使用p_i.getSize() - 1;

您似乎正在循环执行0,1,2,因为大小将返回2,但是数组只包含0,1。

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

https://stackoverflow.com/questions/42240366

复制
相关文章

相似问题

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