gpt4 book ai didi

java - 调用反向方法

转载 作者:行者123 更新时间:2023-12-02 05:47:53 27 4
gpt4 key购买 nike

问题:我希望调用reve方法,结果应该是“edcba”。但真正的结果是“abcde”。 reve 方法效果不佳。有什么建议可以解决吗?非常感谢

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;


public class Reverse {


public static void main (String args[]) throws IOException

{
System.out.println(reve("abcde"));
}


// to reverse a string
public static String reve(String sentence) {
StringBuilder sb = new StringBuilder(sentence.length() + 1);
String[] words = sentence.split(" ");
for (int i = words.length - 1; i >= 0; i--) {
sb.append(words[i]).append(' ');
}
sb.setLength(sb.length() - 1); // Strip trailing space
return sb.toString();
}

}

最佳答案

split 在这里不会帮助你,因为字符之间没有空格

 String[] words = sentence.split(" "); 

使用

 char[] words = sentence.toCharArray();

这样你就可以从String中获取字符,然后使用循环来反转String,因为我认为你这样做是正确的,但对字符数组这样做。

或者您也可以使用charAt(int i)方法。

for (i = sentence.length()-1; i >= 0; i--)
sb.append(sentence.charAt(i));
return sb.toString();

注意:这里可以直接使用StringBuilderStringBuffer

的方法 reverse()
System.out.println(new StringBuilder(stringVar).reverse().toString());
System.out.println(new StringBuffer(stringVar).reverse().toString());

关于java - 调用反向方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874176/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com