首页 > 解决方案 > java.lang.StringIndexOutOfBoundsException:Java 错误

问题描述

我用java编写了这个程序,我收到了这个错误。

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
        at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
        at java.base/java.lang.String.charAt(String.java:702)

charAt(i) 有问题,但我在这里找不到问题所在。语法是正确的,为什么会出现异常?谁能帮我这个?

HashSet<String> set = new HashSet<String>();
TreeMap<String,String> mp = new TreeMap<String,String>();
Iterator<String> itr = set.iterator();

        while (itr.hasNext())
        {
            String str = itr.next();
            int len = str.length();

            char[] word = new char[len];
            
            for (int i = 0;i < n;i++)
            {
                int index = (i + key) % len;
                word[index] = str.charAt(i);
            }
            
            String x = toString(word);
            
            if (set.contains(x) == true)
                mp.put(str,x);
        }

标签: javastring

解决方案


相反,如果 <n 在你的循环中使用 <len


推荐阅读