2014-10-05 46 views
0

我有一個是奠定了這樣一個文本文件:提取內容的Java

57363 Joy Ryder D D C P H H C D 
72992 Laura Norder H H H D D H H H 
71258 Eileen Over C F C D C C C P 
70541 Ben Dover F F F P C C C F 
46485 Justin Time F C F C D P D H 
61391 Anna Conda D D F D D F D D 
88985 Bob Down P F P F P F P P 

,我有下面的代碼讀取這樣的:

Scanner keyboard = new Scanner(System.in); 
     System.out.println("Filename: "); 
     // C:\\Users\\Vick\\PT\\accountFilesDemo_17259747\\src\\accountFilesDemo_17259747\\Grades.txt 
     String filename = keyboard.nextLine(); 

     File myfile = new File(filename); 

     try { 
      Scanner inputFile = new Scanner(myfile); 
      while(inputFile.hasNext()) 
      { 
       String str = inputFile.nextLine(); 
       System.out.println(str); 
      } 
      inputFile.close(); 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

現在我想知道如何獲得前5位數的學生ID並將它們存儲在某個地方,然後在學生名字後輸入8個字母,即DDCPHHCD,我怎麼把這些放在某個地方來保存1-8的值,然後我需要把它們加起來,做一些數學來獲得總數,然後我怎麼寫這兩個學生ID nd總到單獨的文本文件?

回答

-1

您可以使用掃描儀分隔單個行的標記。

String str = "57363 Joy Ryder D D C P H H C D"; 

    Scanner tokens = new Scanner(str); 

    String studentID = tokens.next(); 

    String name = tokens.next(); 

    String surname = tokens.next(); 

    String letters = ""; 

    while(tokens.hasNext()) 
    { 
     letters = letters + tokens.next() + " "; 
    } 

    System.out.println("ID = " + studentID + 
         "\nNAME = " + name + 
         "\nSURNAME = " + surname + 
         "\nLETTERS = "+ letters); 
+0

這就是我正在尋找和有問題,現在我會弄清楚如何自己使用其餘的。我在各地搜索了一個例子,因爲我從例子中學習和學習,純粹的理論和文本很難解構,但是謝謝 – 2014-10-05 01:34:14

+0

*「......純理論和文本很難解構」* - 我強烈建議你**嘗試做一些關於**的事情。如果你只能從例子中學習,那麼:1)你會因爲例子的存在而受到限制。當你做更復雜/更高級的工作時,你會用盡實例...以及願意爲你寫作的人。 2)以我的經驗,從例子中學習往往很淺。你學會做什麼,但不知道爲什麼。而「爲什麼」通常非常重要。 – 2014-10-23 03:34:31

+0

這就是爲什麼我*試圖*避免勺子餵養解決方案(例子)給正在學習編程的人。如果你必須努力學習,你會學到更多,更深入。 – 2014-10-23 03:38:31

0

提示:

  1. 使用Scanner分手各行成的組件。

  2. 創建一個類來保存每一行中的信息。

  3. 如果事先知道數組中將存在多少個元素,並使用列表(例如ArrayList)(如果不知道),則使用數組。

  4. 一旦你填充了數據結構,那麼做算術和打印結果就是簡單的編程。

這些提示可以回答大部分問題。但我不會爲你編寫功課。

+0

1.如何使用掃描儀打破行成我需要什麼成分? – 2014-10-05 01:26:06

+0

你是什麼意思創建一個類來保存信息?至於數組列表將使用向量更容易? – 2014-10-05 01:26:36

+0

1)閱讀'Scanner'類的javadoc。 2)你知道什麼是班級嗎?你知道如何聲明字段,構造函數,方法嗎? 3)'Vector'和'ArrayList' API幾乎是相同的,但是'ArrayLists'由於其他原因(在這裏不相關...)是可取的。 – 2014-10-05 02:23:25

0

如何:

String str = "57363 Joy Ryder D D C P H H C D"; 
String[] items = str.split(" ");