【问题标题】:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0, please help resolve线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 0,请帮助解决
【发布时间】:2014-06-13 09:43:07
【问题描述】:

我正在使用 java 数据结构创建一个社交网络,并使用 hashsets 来显示喜欢和朋友,并使用来自 roseindia.net 的模板推荐不常见的朋友

我昨晚设法让代码正常工作,但现在当我运行它时,它会显示标题中的错误。有谁知道如何解决这个问题?以前的线程不是很有帮助。这是我的代码:

package SocialNetwork;

【问题讨论】:

  • 天哪,缺乏泛型在 Java 1.7 环境中有点极端。使用 ArrayList 显然会有所帮助。
  • HashSet 和其他东西一样。

标签: java arrays loops hashset


【解决方案1】:

您正在初始化arr,大小为0

            int maxSize = 0;
            ArrayInObs arr;
            arr = new
            ArrayInObs(maxSize);

你需要给它传递一些更高的值(比如 20)。

aar2 也一样:

            int maxSize2 = 0;
            ArrayInObs arr2;
            arr2 = new
            ArrayInObs(maxSize2);

【讨论】:

  • 谢谢,它现在正在运行,但仍然说 arr 2 已分配但从未使用过。这会影响程序的运行吗?
  • 由于没有使用arr2,所以不会产生任何问题。这只是一个警告。你在使用一些IDE(比如eclipse)吗?如果是,那么您可以在编辑器本身中将其视为警告。
  • 是的,我正在使用 Intellij。它为哈希集提供了一个单独的错误,“未经检查地调用‘add(E)’作为原始类型 java.util.ArrayList 的成员。我从未见过这个,但我的导师说不用担心。我应该?
  • 不用担心,但您应该修复代码以删除所有警告。
  • 您知道我将如何删除此特定警告吗?没遇到过,网上的解释很模糊。
【解决方案2】:

问题来了:

你需要初始化“maxSize”。

请在main方法中将int maxSize替换成合适的值,比如int maxSize = 100

进行上述更改后,它应该可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 2014-11-14
    • 1970-01-01
    相关资源
    最近更新 更多