2015-01-10 25 views
0

所以基本上我需要做的是:閱讀txt文件,然後重新它整理到一個數組

讀取文本文件是這樣的:

[Student ID], [Student Name], Asg 1, 10, Asg 2, 10, Midterm, 40, Final, 40 
, Timture Choi, 99.5, 97, 100.0, 99.0 
02345678, Elaine Tam, 89.5, 88.5, 99.0, 100 

,並提出像這樣(與計算排名和平均):

ID Name Asg 1 Asg 2 Midterm Final Overall Rank 

Timture Choi 99.5 97.0 100.0 99.0 99.3 1 

02345678 
Elaine Tam 89.5 88.5 99.0 100.0 97.4 2 

Average: 94.5 92.75 99.5 99.5 98.3 

使用printf()功能

現在這是我到目前爲止所做的:

import java.io.*; 
import java.util.Scanner; 

class AssignmentGrades { 
    public static void main(String args[]) throws Exception { 
     Scanner filename = new Scanner(System.in); 
     String fn = filename.nextLine(); //scannig the file name 
     System.out.println("Enter your name of file : "); 

     FileReader fr = new FileReader(fn+".txt"); 

     BufferedReader br = new BufferedReader (fr); 
     String list; 

     while((list = br.readLine()) !=null) { 
      System.out.println(list); 
     } 
     fr.close(); 
    } 
} 

因此,我可以詢問用戶文件的名稱,然後閱讀並打印。

現在..我卡住了。我想我可能需要將它放入數組並拆分?

String firstrow = br.readLine(); 
String[] firstrow = firstrow.split(", "); 

類似的東西?..唉我一直都困在這裏了一個多小時

我真的需要幫助!我感謝您的關注! (我開始學習Java本週)

+0

'掃描儀'可以用於讀取基於某些分隔符(此處爲',')的整數等。請參閱[javadoc](http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html) –

回答

0

有兩種方法用於拆分輸入線從文件

  1. 剛讀使用String對象的分裂()方法,它會返回一個數組。詳細瞭解拆分here

  2. StringTokenizer類 - 該類可用於根據一組分隔符將輸入字符串劃分爲單獨的標記。 Here是一個很好的入門教程。

你應該能夠得到使用谷歌:)

在你想從字符串解析整數的情況下更多的例子。檢查this

0

這裏我將這些列存儲爲String的數組,我將這個記錄集存儲爲String數組的ArrayList。在while循環中,如果列集尚未初始化(第一次迭代),我使用split對它進行初始化。否則,我將split添加到ArrayList。進口java.util.ArrayList

String[] columns = null; 
    ArrayList<String[]> values = new ArrayList<String[]>(); 
    String list; 

    while((list = br.readLine()) !=null) { 
     if (columns != null) { 
      columns = list.split(", "); 
     } else { 
      values.add(list.split(", ")); 
     } 
    } 
    fr.close();