当前位置: 首页 > 知识库问答 >
问题:

返回字符串数组中的单词

林夕
2023-03-14

我创建了一个方法来输出字符串。使用split方法和for循环,我将句子中的每个单词添加到字符串数组中,将每个单词的最后两个字母替换为“ed”。现在,我的return语句应该返回每个单词。当我用system.out.print时,它起作用了。当我使用一个return并在我的main方法中调用它时,我得到这样的输出:“[Ljava.lang.String;@1B6235B”

这个错误看起来很简单,但我就是不知道我要去哪里。如有任何帮助,我们将不胜感激。

下面是我的方法:

public String[] processInfo() {

    String sentence = this.phrase;
    String[] words = sentence.split(" ");
    if (!this.phrase.equalsIgnoreCase("Fred")) {
        for (int i = 0; i < words.length; i++) {
            words[i] = words[i].substring(0, words[i].length() - 2).concat(
                    "ed ");

            // System.out.print(words[i]);
        }
    }

    return words;

}

共有1个答案

南宫才艺
2023-03-14

您正在打印数组,但默认情况下数组没有ToString()方法的正确实现。你看到的是

“[Ljava.lang.String;@1B6235B”

这是[Ljava.lang.String;是String[].class的名称,java.lang.class表示String的数组的类,后跟它的哈希代码。为了打印数组,您应该使用Arrays.ToString(..)

System.out.println(Arrays.toString(myArray));

不过,这是一个好主意,它以数组格式返回我的字符串。我的目的是把它们恢复成句子格式。例如,如果我的输入是“Hey my name is Fred”,它将输出为“Hed ed naed ed Fred”。抱歉,我忘了补充一下,在使用Arrays.ToString时,它还用逗号分隔它。

然后,您应该修改processInfo(),返回一个字符串或创建一个将String[]转换为字符串的新方法。

示例:

//you use like this
String [] processInfoArray = processInfo();
System.out.println(myToString(processInfoArray));

// and in another part you code something like this 
public static String myToString(String[] array){
       if(array == null || array.length == 0)
            return ""; 

       StringBuilder sb = new StringBuilder();
       for(int i=0;i<array.length-1;i++){
         sb.append(array[i]).append(" ");
       }
       return sb.append(array[array.length -1]).toString();
}
 类似资料:
  • Spring WebFlux的新手,尝试在一个endpoint中返回字符串数组,出于某种原因,它返回了JSON数组的一个串联字符串istead。 用一些类包装它可以解决问题,但想知道如何实际返回字符串数组?返回例如数组

  • 我需要一些帮助在Java:我有一个函数签名,我不能改变,我的函数需要递归和返回字符串数组没有任何选项添加到签名。 这是我的签名: 该函数在TRIE结构中查找相似的单词,在它们之间有K个字母变化的差异。 例如-在单词“bike”和k=2的TRIE中,该函数将返回一个(包含nice和nine)。 我不是在寻找解决方案,只是为了一个返回字符串数组的方法。 **我用我收到的签名编写了一个函数作为包装器,但

  • 我是新的java和卡在如何返回已输入的整个地址,因为我目前只返回第一个字。下面是代码: 如果有任何帮助,我将不胜感激。

  • 我已经用TestNG创建了一个Selenium框架。在此框架中,@Dataprovider包含一组代码,这些代码从Excel读取数据,并将该值作为2D数组返回给@Test。 “get”方法返回字符串[]。但我得到的错误是“数据提供程序必须返回对象[]”。如果我将其更改为对象[],则我的测试用例失败,错误如下:

  • 我想从中得到一个子字符串。 我想要的子字符串是一个数字字符序列。 输入 通常可以是任何字符串,但它们都有一个共同点: 有一个部分以KD-开头 并以数字结尾 数字之后的所有内容都将消失。 在上面的示例中,这个数字将分别为、、。但它可以是任何数字 现在我有一个子字符串,它包含KD之后的所有数字字符--但我希望只有字符串的0815ish部分。 我目前所拥有的 结果是,但我只想要(它可以是任何长度,但不可

  • 问题内容: 我创建了一个Web服务,该服务返回。这必须能够返回工作正常的。但它也应该能够返回。知道如何使用来传送A 吗? 问题答案: JavaMail具有一个可用于此目的的: mime类型中的in决定它将字符串转换为字节时使用的编码方式。