繁体   English   中英

你如何在java中逐个字符地反转字符串?

[英]How do you reverse a string character by character in java?

假设我有一个带有短语“美国银行”的字符串。 我想反转它,所以输出结果为“aciremA fo knaB”

这是我一直在尝试使用的代码,但输出只是最后一个单词的最后一个字母,即“a”

int position = phraseLength;
for(int index = position-1; index >= 0; index--);
System.out.println(p1.charAt(position-1));

我不确定这里出了什么问题,所以会有任何帮助。

    StringBuffer sb=new StringBuffer("Bank of America");
    System.out.println(sb.reverse());

如果你想按照自己的方式去做。 利用

    int position = phraseLength;
    for(int index = position-1; index >= 0; index--)
        System.out.println(p1.charAt(index));

您在此处的 for 循环后添加了一个额外的分号

for(int index = position-1; index >= 0; index--);
                                                ^

此外,您总是在访问postion-i 您应该访问index

System.out.println(p1.charAt(position-1));
                             ^^^^^^^^^^^
                                here

你可以用这个

int position = phraseLength;
for(int index = position-1; index >= 0; index--)
    System.out.print(p1.charAt(index));

或这个

String output = "";
int position = phraseLength;
for(int index = position-1; index >= 0; index--)
    output+=p1.charAt(index);
System.out.println(output);

我猜你错误地在 for 循环之后添加了semicolon 实际上这不会给出任何compile time error 但是循环的内容只会被执行一次。 所以删除分号并完成它!

public String reverse(String str) {   
 char [] buffer = str.toCharArray();

 for (int i = 0, j = buffer.length - 1; i < j; i++, j--) {
  char temp = buffer[i];
  buffer[i] = buffer[j];
  buffer[j] = temp;
 }

 return new String(buffer);
}
StringBuffer stringBuffer=new StringBuffer("Bank of America");
System.out.println(stringBuffer.reverse());    

声明一个字符串。 取出该字符串的长度。 循环遍历字符串的字符。 在新字符串中以相反的顺序添加字符。 字符串 str = "你好";

字符串反向 = "";

int 长度 = str.length();

for (int i = 0; i < 长度; i++) {

 reverse = str.charAt(i) + reverse;

}

System.out.println(reverse);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM