我正在开发一个 Java 程序,在该程序中我必须读取文件的内容,然后反向打印每一行。例如文本:
Public Class Helloprinter
Public static void
运行我的反向程序后将打印以下内容:
retnirPolleh ssalc cilbup
diov citats cilbup
这是我到目前为止得到的:
public static void main(String[] args) throws FileNotFoundException {
// Prompt for the input and output file names
ArrayList<String> list = new ArrayList<String>();
//String reverse = "";
Scanner console = new Scanner(System.in);
System.out.print("Input file: ");
String inputFileName = console.next();
System.out.print("Output file: ");
String outputFileName = console.next();
// Construct the Scanner and PrintWriter objects for reading and writing
File inputFile = new File(inputFileName);
Scanner in = new Scanner(inputFile);
PrintWriter out = new PrintWriter(outputFileName);
String aString = "";
while(in.hasNextLine())
{
String line = in.nextLine();
list.add(line);
}
in.close();
for(int i = 0; i <list.size(); i++)
{
aString = list.get(i);
aString = new StringBuffer(aString).reverse().toString();
out.printf("%s", " " + aString);
}
out.close();
}
} 编辑:
罗伯特的帖子帮助我找到了正确的方向。问题是这样就无法保持线路。
Public Class Helloprinter
Public static void
运行我的程序后变成:
retnirPolleh ssalc cilbup diov citats cilbup
它需要保持线路布局相同。所以应该是:
retnirPolleh ssalc cilbup
diov citats cilbup
最佳答案
你的问题就在这行
out.printf("%s", " " + aString);
这不会输出换行符。我也不知道你为什么要在里面留一个空格。
应该是:
out.println( aString );
或者
out.printf("%s%n", aString);
关于java - Java ArrayList 中的反转行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205588/