gpt4 book ai didi

java 字符串索引超出范围 1111

转载 作者:行者123 更新时间:2023-12-01 11:58:03 24 4
gpt4 key购买 nike

有 1102 个字符长度的编码消息传递给函数 read(),该函数对编码消息进行解码。我已经在评论中解释了 read() 函数的工作原理。 编译成功但出现异常“String index out of range: 1111”。我不明白原因。

public class SecretMessage
{
private String encodedMessage;

public SecretMessage(String encodedMessage)
{
this.encodedMessage = encodedMessage;
}

/**
* Reads every 10th letter of encodedMessage and returns a string
* with the letters it reads.
* @return A message hidden in the garbled text
*/
public String read()
{
String decodedMessage = "";
int lenEncode = encodedMessage.length();
int count = 0;
for(int i = 0; i < lenEncode; i++)
{

String update = encodedMessage.substring(count, count + 1);
count = count + 10;
decodedMessage = decodedMessage + update;
}
return decodedMessage;
}
}

最佳答案

for(int i = 0; i < lenEncode; i++)
{
String update = encodedMessage.substring(count, count + 1);
count = count + 10;
decodedMessage = decodedMessage + update;
}
return decodedMessage;
}

首先你为什么不检查i

其次,这有两个潜在的问题:即使您使用 i 而不是 countcount + 1 也会命中高于数组中最后一个索引的数字。

此外,count = count + 10 也是您当前遇到的问题。这保证会大于 lenEncode!

关于java 字符串索引超出范围 1111,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28276582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com