java - 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);
}
解决方案
相反,如果 <n 在你的循环中使用 <len
推荐阅读
- rest-assured - 放心登录测试
- amazon-web-services - 将 MIME 中的附加数据嵌入到电子邮件的 HTML 部分。未链接到附件
- string - Yii2比较并突出显示gridview中两个字符串或文本之间的差异
- sql - 在 where 部分使用 max() 的替代方法?
- html - 如何检索 angularfire 集合并在 html 上显示
- ionic-framework - 错误 对不起!ionic serve 只能在 Ionic 项目目录中运行。(当更新 Visual Studio 代码时)
- android - 解码时如何从android mediacodec检查关键帧
- c++ - 无法使用犰狳运行已编译的 cpp 代码,因为 dyld:未加载库
- tomcat - tomcat + openshift + liferay = 请求随机丢失了我所有的标头
- python - python writefile ImportError:没有名为“mainss_script”的模块