2011-11-17 168 views
0

首先,這是我採用的第一個編程類,所以我很抱歉如果這是一個非常簡單的問題。對於家庭作業,我們必須編寫一個掃描文本文件的程序,提示用戶輸入<>,然後將結果寫入另一個文本文件。Java;從輸入文本文件到輸出文本文件的換行符

我遇到的問題是輸出文件全部寫在一行上,而不是保留輸入文件中的換行符。

例如:

輸入

看起來像

這個文本。

輸出看起來像這樣的文字。

這是我在相關方法中的代碼。

public static void createMadLib(Scanner console) throws FileNotFoundException { 
    Scanner input = getInput(console); 
    System.out.print("Output file name: ");  
    PrintStream out = new PrintStream(new File(console.nextLine())); 
    System.out.println(); 

    String text = input.next(); 
      while (input.hasNext()){ 


        if (text.startsWith("<")){ 
         text = text.substring(1, text.length()-1); 
         text = text.replace("-"," "); 
         if ((text.startsWith("a"))||(text.startsWith("e"))||(text.startsWith("i"))||(text.startsWith("o"))||(text.startsWith("u"))){       
          System.out.print ("Please type an " + text + ": "); 
          text = (console.nextLine()); 
         }else { 
          System.out.print ("Please type a " + text + ": "); 
          text = (console.nextLine()); 
         } 
        } 
        out.print(text + " "); 

        text = input.next(); 

      }//ends while loop 
    out.print(text); 
    prompt(console); 
    } 

對於任何格式錯誤,我再次道歉,這是我的第一個編程類。

感謝您的幫助

回答

1

而不是使用out.print的,你可能需要使用out.println,它做同樣的事情,但附加一個換行符行的末尾。您也可以手動連接要插入換行符的換行符(\n)。

+0

採取了比我想要的更多的操作,但是我使用這種技術得到了它的工作,謝謝。 – user1051067

0

是的,喬納森的答案將起作用。 所以我投了喬納森的,。