java 程序未返回字符串中最短单词的长度[已关闭]

ygya80vv  于 2022-12-25  发布在  Java
关注(0)|答案(2)|浏览(110)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
昨天关门了。
Improve this question
这个程序应该取一个字符串,例如“苹果是绿色的,苹果也是红色的”,并返回该字符串中最短单词的长度,在上面提到的情况下,它将返回int 2。然而,返回的值是不正确的。

public static int findShort(String s) {
        String newStrings[] = s.split(" ");
        int shortest_word_length = 10000;
        int temporary_length;
      
        for(int i=0;i<=(newStrings.length);i++){
          temporary_length = (newStrings[i].split("")).length;
          if (temporary_length<=shortest_word_length){
            shortest_word_length = temporary_length;
          }
        }
      return shortest_word_length;
        
        
    }

我把代码看了好几遍,似乎找不出毛病在哪里。

disho6za

disho6za1#

我试过你的代码,这一行抛出一个IndexOutOfBoundsException

for(int i=0; i <= (newStrings.length); i++){

应该是

for(int i=0; i < (newStrings.length); i++){
fnx2tebb

fnx2tebb2#

将For循环更改为:

for(int i=0;i<(newStrings.length);i++)

当你给予“〈=”时,它是在检查出界位置。

相关问题