Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 索引读取不正确_Java_Arrays_Indices - Fatal编程技术网

Java 索引读取不正确

Java 索引读取不正确,java,arrays,indices,Java,Arrays,Indices,代码在第一个数组位置(0)添加一个空格,并在第二个位置(1)开始单词。因此,单词的最后一个字母会被截断,因为数组的长度由单词长度本身决定 输入字是“hummu”,但输出是“hummu”(注意前导空格) 我的代码(上面在代码的不同部分声明了一些变量): //在单词列表中读取 for(int x=0;x

代码在第一个数组位置(0)添加一个空格,并在第二个位置(1)开始单词。因此,单词的最后一个字母会被截断,因为数组的长度由单词长度本身决定

输入字是
“hummu”
,但输出是
“hummu”
(注意前导空格)

我的代码(上面在代码的不同部分声明了一些变量):

//在单词列表中读取
for(int x=0;x
这应该很容易通过调试器逐步完成。我目前使用的计算机上没有Java设置,但我很确定您的问题在于这一行:

String[] letters = word.split("");
我认为这将在两端增加一个额外的空间

这是一种将
字符串
拆分为字母的非常奇怪的方法;为什么不直接使用
tocharray
并将每个
char
转换为
字符串


作为旁注,你到底期望什么

for (int x = 0; x < wordList.length; x++) {
    word = wordList[x];
}
for(int x=0;x

要做什么?

永远不要将空字符串传递给split。如@MattPutnam所说,使用获取数组的单个字符。您可以在需要时使用static
Character.toString
方法将
char
转换回
String

字符串的。使用“
拆分,因为正则表达式匹配任何内容。。。这条规则的要点是:

如果在输入序列的开头有正宽度匹配,则在结果数组的开头包含一个空的前导子字符串


由于“”与字符串的第一个字母匹配,
字母[0]
被设置为空字符串。

此外,我可能应该返回并注意,“匹配所有内容”实际上是指项目之间的字符分隔符。
for (int x = 0; x < wordList.length; x++) {
    word = wordList[x];
}