importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassReversePrint{publicstaticvoidmain(String[]args)throwsIOException{for(;;)...
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReversePrint {
public static void main(String[] args) throws IOException{
for ( ; ; ) {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter your strings:");
String line = in.readLine();
if (line.equals("quit"))break;
StringBuffer buf = new StringBuffer(line);
for (int i = 0; i < line.length(); i++) {
buf.setCharAt(i, buf.charAt(line.length() - i)); //我想在这里实现字符的对调,Eclipse提示这里出现错误
}
System.out.println(line);
}
}
}
这是错误信息:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
at java.lang.StringBuffer.charAt(Unknown Source)
at ReversePrint.main(ReversePrint.java:15)
语法错误+逻辑错误
buf.setCharAt(i, line.charAt(line.length() - i - 1)); 问题依然
数组越界啦,实现字符串逆序完全可以用 string 里面有个 rever方法啊,不要写这么复杂的
我刚学哪有这么多方法啊,这个方法是我自己想的,既然写了就想实现它,高手帮个忙看看
展开