假设我有一个短语“Bank of America”的字符串。我想反转它,所以输出结果是“aciremA fo knaB”
这是我一直试图使用的代码,但输出只是最后一个单词的最后一个字母,即“a”
int position = phraseLength;
for(int index = position-1; index >= 0; index--);
System.out.println(p1.charAt(position-1));
我不确定这里有什么问题,所以任何帮助都会被证实。
答案 0 :(得分:4)
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));
答案 1 :(得分:3)
你在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);
答案 2 :(得分:0)
我猜你错误地在for循环后添加了semicolon
。实际上,这不会给任何compile time error
。但循环的内容只会执行一次。所以删除分号并完成它!!
答案 3 :(得分:0)
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);
}
答案 4 :(得分:0)
StringBuffer stringBuffer=new StringBuffer("Bank of America");
System.out.println(stringBuffer.reverse());