字符串的两种逆序输出问题。
碎冰点 2012-09-23 08:27:15 我碰到一个问题,假如有个a.txt,里面有如下字符串:
Course CST230
Hello
Your name
Good bye
现在需要逆序输出output1为:
eyb dooG
eman rouY
olleH
032TSC esruoC
接着output2为:
esrouC 032TSC
olleH
rouY eman
dooG eyb
那么我的解决方法是:
public class test extends Object implements java.io.Serializable {
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(new FileReader("a.txt"));
String line4 = null;
BufferedReader input4 = new BufferedReader(new FileReader("a.txt"));
BufferedWriter ReverseOriginal4 = new BufferedWriter(new FileWriter("output4.txt"));
while((line4=input4.readLine())!=null){
String s = line4;
StringBuffer buff = new StringBuffer(s);
ReverseOriginal4.write(buff.reverse().toString());
ReverseOriginal4.newLine();
}
ReverseOriginal4.flush();
ReverseOriginal4.close();
ReverseOriginal4 = null;
input4.close();
可是这样输出的结果为:
032TSC esruoC
olleH
iL gnefiuR
eyb dooG
因为基础不扎实,output1我想用字符串数组做,但是失败了,因为write不能写字符串数组,我的代码如下:
BufferedReader input2 = new BufferedReader(new FileReader("a.txt"));
BufferedWriter ReverseOriginal2 = new BufferedWriter(new FileWriter("output2.txt"));
String[] data = new String[10];
while((line2=input2.readLine())!=null){
int j = 0; String s = line2;
StringBuffer buff = new StringBuffer(s);
data[j] = buff.reverse().toString();
j++;
}
ReverseOriginal2.write(data[]);
ReverseOriginal2.newLine();
ReverseOriginal2.flush();
ReverseOriginal2.close();
ReverseOriginal2 = null;
input2.close();
这里的write就报错了,希望大家对两种逆序输出做些详细的指导和讲解,感觉output2更难一些,谢谢大家!