首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数组超出界限的错误

数组超出界限的错误
EN

Stack Overflow用户
提问于 2014-11-03 08:16:24
回答 3查看 83关注 0票数 1

我想要编写代码,将一个字符串分割成单独的子字符串,每个子字符串都有3个字符,并将它们分配给一个字符串数组--例如,字符串"abcdefg“可以被吐到"abc”、"bcd“、"cde”、"efg“,这些字符串被分配给一个字符串数组。我有下面的代码,它得到了一个错误:

代码语言:javascript
复制
String[] words = new String[] {};
String sequence = "abcdefg";
int i;

for(i = 0; i <= sequence.length()-3; i++) {          

    words[i] = sequence.substring(i, 3+i);
    System.out.println(words[i]);
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-03 08:25:05

改为使用以下代码:

代码语言:javascript
复制
      String sequence="abcdefg";
      String[] words=new String[sequence.length()-2];
      int i;

      for(i=0;i<=(sequence.length()-3);i++){        
         words[i]=sequence.substring(i,3+i);
         System.out.println(words[i]);
    }

或者您可以使用字符串数组。

票数 1
EN

Stack Overflow用户

发布于 2014-11-03 08:17:56

代码语言:javascript
复制
String[] words=new String[] {}; // empty array

你有空数组。

代码语言:javascript
复制
words[i] // when i=0

array0th匹配时不存在索引。

解决方案。

您可以在定义array时定义数组的大小。最好的方法是从length获得sequence

代码语言:javascript
复制
String sequence="abcdefg";
String[] words=new String[sequence.length()];
票数 6
EN

Stack Overflow用户

发布于 2014-11-03 08:29:56

您可以从序列字符串中获取长度,除以要存储的字符数,以便知道数组应该有多大。例如

代码语言:javascript
复制
String sequence="abcdefg";
int myLength = sequence.length/3;
String[] words=new String[myLength];

然后,您可以使用该长度填充数组。

代码语言:javascript
复制
 for(i=0;i<=myLength;i++){          

               words[i]=sequence.substring(i,3+i);

               System.out.println(words[i]);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26710208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档