【问题标题】:java: String index out of range: 6java:字符串索引超出范围:6
【发布时间】:2012-01-15 17:18:01
【问题描述】:

我的 java 代码中出现以下错误:

线程“main”java.lang.StringIndexOutOfBoundsException 中的异常:字符串索引超出范围:6

...发生在以下行:

if (strFactor.charAt(j) == strProduct.charAt(k)) {

代码如下:

       for (int j=0; 0<=5; j++) {
            same = false;
            for (int k=0; k<=5; k++) {
                if (strFactor.length() == 6 && strProduct.length() == 6) {
                    if (strFactor.charAt(j) == strProduct.charAt(k)) {
                        same = true;
                    }
                }
            }
            if (!same) {
                return false;
            }
        }

有人知道为什么索引会超出范围吗?

【问题讨论】:

    标签: java string exception loops


    【解决方案1】:

    我不是 Java 程序员,但0&lt;=5 的计算结果总是true,所以j 达到6(如果不是因为那个例外,我会继续前进)。

    【讨论】:

    • 你不知道我为此烦恼了多久。谢谢你指出我的愚蠢! :)
    • 必须有更好的方法来解决这个问题,但这不是被问到的问题 ;-)
    【解决方案2】:

    for (int j=0; 0&lt;=5; j++) { 应该是for (int j=0; j&lt;=5; j++) {

    【讨论】:

      【解决方案3】:

      查看 forloop 的第一行。字符串超出范围

      for (int j=0; 0<=5; j++) {
      

      纠正条件。编码时请务必小心!快乐编码

      【讨论】:

        【解决方案4】:

        嘿伙计:你的 j_for 错了……应该是 for(int j=0; j

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-07-05
          • 2015-04-01
          • 2014-06-12
          • 2012-06-04
          • 1970-01-01
          • 1970-01-01
          • 2010-10-31
          相关资源
          最近更新 更多