java - 数组越界错误

标签 java

我想编写代码,将字符串拆分为单独的子字符串,每个子字符串包含 3 个字符 并将它们分配给一个字符串数组,例如字符串“abcdefg”可以分配给“abc”、“bcd”、“cde”、“efg”,这些都被分配给一个字符串数组。我有以下代码出错:

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]);
}

最佳答案

String[] words=new String[] {}; // empty array

你有空数组。

words[i] // when i=0

array 中没有与第 0 索引匹配的索引。

解决方案。

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

获取 length
String sequence="abcdefg";
String[] words=new String[sequence.length()];

关于java - 数组越界错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26710208/

相关文章:

java - JTable 中的 JComboBox 不显示选择

java - EJB-JAR 中的第三方库

java - JOTM getTransactionManager().getTransaction() 返回 null

java - 旧 Java GUI Tic-Tac-Toe 上一片空白

java - 将对象转换为字符串后存储在 hashMap 中

java - 使用 Jackson 序列化 yml 文件的数据对象

java - Hibernate 不一致地加载 Postgresql bytea

java - Spring 框架 4.0 和 Spring security 3.2.4 上的 Spring Security SAML 扩展

java - 是否有一个 Java 集合可以在添加更多项目时删除项目? (一个简单的缓存)

java - 'for' 循环可替换为 'foreach'