如何正确地将 char 转换为 String 并在方法中传递 String?

我需要在方法末尾传递字符串,以便直接在主方法中打印字符串,但是当我在下面这样做时,我只收到这个 [Ljava.lang.String;@135fbaa4


public static String businessLogic(String[] words) {

    for (String word : words) {

        char[] arrayWordInChar = word.toCharArray();

        int wordLength = word.length();

        for (int i = 0, j = wordLength - 1; i < j; ) {

            if (!Character.isAlphabetic(arrayWordInChar[i]))

                i++;

            else if (!Character.isAlphabetic(arrayWordInChar[j]))

                j--;

            else

                swapLetters(arrayWordInChar, i++, j--);

        }

        arrayWordInChar.toString();

    }

    return Arrays.toString(words);

}





public class Main {


public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    String[] words = scanner.nextLine().split(" ");


        businessLogic(words);


        System.out.println(words);


}

}

这个问题我已经困惑了快两天了,请问是什么问题呢?


桃花长相依
浏览 138回答 4
4回答

紫衣仙女

你会得到“[Ljava.lang.String;@135fbaa4”,因为单词是String[],你可以更改代码如下。public static void main(String[] args) {&nbsp; &nbsp; Scanner scanner = new Scanner(System.in);&nbsp; &nbsp; String[] words = scanner.nextLine().split(" ");&nbsp; &nbsp; //businessLogic(words);&nbsp; &nbsp; System.out.println(businessLogic(words));}

蝴蝶不菲

数组.toString(str)字符串构造函数String.valueOf() 或 String.copyValueOf()

白猪掌柜的

words首先,通过以下方式向数组添加赋值words = businessLogic(words);要打印 arraylist 元素,您可以执行以下操作之一:System.out.println(Arrays.toString(words));或者for(String&nbsp;word&nbsp;:&nbsp;words){ &nbsp;&nbsp;&nbsp;&nbsp;System.out.println(word); }

缥缈止盈

BusinessLogic 方法返回一个字符串,但您没有将其分配给任何 String 变量,并且在 System.out 中您将数组单词打印为字符串。System.out.println(businessLogic(words));上面的行将打印您想要的输出。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java