我正在开发一个程序,它使用由数组或链表实现的堆栈来评估lisp表达式。我需要从右到左从第一行读取文件。目前我正在从左到右阅读它,但我不明白如何切换它。非常感谢您给我的任何帮助!谢谢!
**我知道程序远未完成,我只需要在继续之前完成此任务。
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.*;
import java.io.BufferedReader;
public class A2Q5{
private static Scanner in;
public static void main (String [] args)
{
if(args.length != 2) {
System.out.println("Please execute as: java A2Q5 type infile");
}
BoundedStack<Double> stack;
if(args[0].equals("0"))
stack = new BSArray<Double>(20);
else
stack = new BSLinkedList<Double>();
// The name of the file to open.
String fileName = args[1];
// This will reference one line at a time
//char c = null;
try {
BufferedReader br = new BufferedReader(new FileReader(fileName));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
for (int i = line.length() - 1; i >= 0; i--){
line.charAt(i);
System.out.println(line.charAt(i));
}
}
}
catch(FileNotFoundException ex) {
System.out.println("Unable to open file " + fileName);
}
catch(IOException ex) {
System.out.println("Error reading file " + fileName);
}
}
}
答案 0 :(得分:1)
删除FileInputStream的使用并使用您已准备但从未使用过的BufferedReader。使用其方法readLine逐行读取文件中的信息。一旦你得到一条单独的行,你就可以逐字逐句地从字符串的末尾到它的开头迭代它。这正是你想要的。