2017-12-01 5 views
0

私は理解できないように特定の手順を行うにはいくつかの助けが必要ですそれを出す。 私はランダムに100個の数字を持つテキストファイルを与えられました。ユーザーの入力に応じて、昇順、降順、またはその両方でソートすることになっています。その後、ユーザが整数のセットを入力すると、ソートされてテキストファイルに出力されます。私は両方のファイルの印刷に問題があります。ここで私のコードは両方のステートメントまでです。Java:昇順の列とその列の横に、単一のテキストファイル内の降順を除いて同じ整数のセットをすべて印刷するには

public static void print(ArrayList<Integer> output, String destination){ 
    try { 
     PrintWriter print = new PrintWriter(destination); 
     for(int i = 0; i < output.size(); i++){ 
      print.print(output.get(i) + " "); 
     } 
     print.close(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

} 


public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    BufferedReader br = null; 
    ArrayList<Integer> words = new ArrayList<>(); 
    BufferedReader reader; 
    String numbers; 

    try { 
     reader = new BufferedReader(new FileReader("input.txt")); 

     while((numbers = reader.readLine()) != null) 
     { 
      words.add(Integer.parseInt(numbers)); 
     } 

     System.out.println("How would you like to sort?"); 
     System.out.println("Please enter asc(For Ascending), desc(For Decending), or both"); 
     String answer = input.next(); 

     Collections.sort(words); 

     if(answer.equals("asc")){ 
      Collections.sort(words); 
      System.out.println(words); 
      print(words,"asc.txt"); 
     } 
     else if(answer.equals("desc")){ 
      Collections.reverse(words); 
      System.out.println(words); 
      print(words,"desc.txt"); 

私が入力したときに作成される「両方」のテキストファイルのみを降順に起こっている整数の1列セットではなく、両方を持っていると私は両方のセットを印刷する方法がわかりません。誰かが光を放つことができるなら、私は本当にそれを感謝するでしょう。

else if(answer.equals("both")){ 
      System.out.println(words); 
      print(words,"both.txt"); 
      Collections.reverse(words); 
      System.out.println(words); 
      print(words,"both.txt"); 

答えて

0

あなたは私のファイルかどうかに追加するかどうかを伝えるためにブール値を渡すことができる場所FileOutputStreams#Constructorを使用する必要があります。

ので、このように使用:

PrintWriter print = new PrintWriter(new FileOutputStream(destination, true)); 
                     /\ 
                     || 
                     || 
                  To append to the file 

のJavaDoc

public FileOutputStream(File file, 
       boolean append) 
       throws FileNotFoundException 

パラメータから:

ファイル - 書き込みのために開かれるファイル。

のappend - trueの場合、バイトはファイル の終わりではなく始まり

に書き込まれます。
関連する問題