2012-09-08 68 views
2

我無法打印出最終結果,但每個單詞都不在自己的行上。輸出的格式應與輸入一樣。下面是我用來讀取數據並打印的代碼:從文本文件中讀取數據,將每個單詞轉換爲PigLatin

 Scanner sc2 = null; 
     try { 
      sc2 = new Scanner(new File(dataFile)); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
     while (sc2.hasNextLine()) { 
       Scanner s2 = new Scanner(sc2.nextLine()); 
      boolean b; 
      while (b = s2.hasNext()) { 
       String s = s2.next(); 
       System.out.println(pig(s)); 
      } 
     } 

實際說明如下:「翻譯獨立宣言(」 declaration.txt「)到PigLatin儘量保存段落。有幾種方法可以做到這一點,但它們都使用嵌套循環。您可能需要查看nextLine,next,split或StringTokenizer。「

雖然我們還沒有被教過如何使用列出的任何方法。

+0

如果您使用的是Java 7,那麼您應該使用新的文件IO:http://docs.oracle.com/javase/tutorial/essential/io/fileio.html – LanguagesNamedAfterCofee

回答

0

println方法是「打印線」的簡稱。它將給定的輸出打印到目標輸出設備後跟一個換行符。查看該解決方案中該類中的其他方法。

更新

這裏的問題是,據我所知java.util.Scanner拋出字之間的空白(分隔符)。請查看java.util.StringTokenizer瞭解可以配置爲一次返回一個空白字符的類似類。

+0

對,但使用'print'運行它全部在一行中沒有空格..我需要輸出格式化,以便每行包含一個或兩個句子。 – jollypop

+0

@jollypop - 作業的確切說明是什麼?在每個單詞之間打印空格是否足夠?你必須真正檢測句子,還是必須保持你正在閱讀的文件格式?你可以在你的問題中提出說明。 –

+0

問題已更新。 – jollypop

相關問題