2014-03-13 49 views
0

我目前被困在如何處理我的代碼。我必須打開一個文件,然後在一個while循環中,我必須一次一行地獲得每一行,然後我必須將其反轉並打印出來。 這是我到目前爲止有:使用ArrayList和反轉文件

public class ReverseFileContents 
    { 
    public static void main(String[] args) throws FileNotFoundException 
    { 
     Scanner myScanner = new Scanner(System.in); 
     Scanner diskScanner = new Scanner (new File("reverse")); 
     while (inputFile.hasNextLine()) 
     { 
     } 
    } 
    } 

這是我這點我很失落,只是不知道用ArrayList和使用的BufferedReader往哪個方向走之後有。有人能幫我進一步嗎?

+0

'reverse'不是一個合適的文件名。所以你會遇到麻煩。 – leigero

+0

好的,謝謝你我會改變這一點。有關arraylist和逐行打印文件的其他建議? – user3416645

+0

是否有任何理由不得不使用ArrayList?你打算以後用這些數據做些什麼,或者你只是想讓它向後打印? – leigero

回答

0

這聽起來像一個家庭作業,所以我要避免給你所需要的算法。

以下是關於獲取文件,並通過它逐行去一些提示:

File filename = new File("file.txt"); 
Scanner file = new Scanner(filename); 

ArrayList<String> lines = new ArrayList<String>(); 
while(file.hasNextLine()){ 
    String line = file.nextLine(); 
    //You can manipulate the line in here and do whatever you want 
    //This can also store the data into an ArrayList for later if you need 
    myReverse(line); 
    lines.add(line); 
} 

這裏是一個反向方法的出發點。有幾十種方法可以完成這個任務:

public void myReverse(){ 
    //convert the string into an array 
    //move through the array backwards printing the values 
} 
+0

謝謝我只需要一些指導。 – user3416645

+0

@ user3416645沒問題。如果這就是你要找的東西,一定要接受它作爲答案。接受某些答案與在StackOVerflow上提出問題一樣重要。 – leigero

1

這將做我相信..!

File file = new File(filename); 
Scanner in = new Scanner(file); 
while (in.hasNextLine()){ 
System.out.println(reverse(in.nextLine())); 
} 

public String reverse(String text){ 
String reverse=""; 
for(int i = text.length - 1 ; i >= 0 ; i--) 
     reverse = reverse + text.charAt(i);; 
return reverse; 
} 
+0

這看起來不錯,但我不能使用.reverse。對不起,我以前沒有提過。 – user3416645

+0

你必須使用什麼?自定義代碼反向.. ?? – Dileep

+0

是的,我必須使用我自己的代碼或將它放到代碼中,這是我遇到的任務。 – user3416645