假设我有一个带有短语“美国银行”的字符串。我想反转它,所以输出结果为“aciremA fo knaB”
这是我一直在尝试使用的代码,但输出只是最后一个单词的最后一个字母,即“a”
int position = phraseLength;
for(int index = position-1; index >= 0; index--);
System.out.println(p1.charAt(position-1));
我不确定这里出了什么问题,所以会有任何帮助。
假设我有一个带有短语“美国银行”的字符串。我想反转它,所以输出结果为“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);
我猜你错误地添加了semicolon
after for 循环。实际上这不会给任何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());