2012-02-01 15 views
2

テキストファイルを使用して各行を取り出し、それをclassobject配列に入れたいとします。これは私が配列オブジェクトにこれを変換する必要がある私のコード文字列ファイルをオブジェクト配列に変換する

try { 
    // Open the file that is the first 
    // command line parameter 
    FileInputStream fstream = new FileInputStream("Patient.txt"); 
    BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 
    String strLine; 
    // Read file line by line 
    while ((strLine = br.readLine()) != null) { 
     // Print the content on the console 
     System.out.println (strLine); 
    } 
    // Close the input stream 
    in.close(); 
} catch (Exception e) { // Catch exception if any 
    System.err.println("Error: " + e.getMessage()); 
} 

であり、これは私はそれがそうで

Patient1 p[] = new Patient1[5]; 
p[0] = 001, "John", 17, 100, 65, 110, 110, 110, 109, 111, 114, 113, "Swaying, Nausea"; 
p[1] = 002, "Sun Min", 18, 101, 70, 113, 113, 110, 119, 111, 114, 113, "None"; 

と見えるようにする方法です。

+1

そして私はポニーが欲しい。真剣に、あなたが試したことを教えて、特定の質問をする必要があります。 –

答えて

0

13のフィールド、コンストラクタ、およびsetter/getterでPatientクラスを作成する必要があります。

public class Patient 
{ 
    private String field1; 
    private String field2; 
    private int field3; 
    .... 
    public void setField1(String field1) { this.field1=field1; } 
    public String getField1() { return field1;} 
    ... 
} 

であり、配列の代わりにArrayList<Patient>を使用します。 AVDが提案されていたもののオフ

ArrayList<Patient> patients=new ArrayList<Patient>(); 
Patient pat=new Patient(); 
//set value to the patient object 
patients.add(pat); 
+0

私はgetID()とgetName()のような13のメソッドを持っていますが、正しいメソッドで文字列をどのように接続できますか? – user1181810

1

ビル、あなたは自分の価値観を取り入れたコンストラクタで欲しいものを達成することができます - (読みやすさとデバッグのために)コンストラクタの中であまりにも多くのパラメータを使用することを示唆していないが。データの順序や読み方によっては、String.splitを使用してすべてを1つのタイプ(つまりString)にすることさえできます。

public class Patient { 

    public Patient(String name, String id, String symptoms, String measurements) { to get the individual fields from using a delimiter. 

     // Stuff to fill in the fields goes here 
    } 
} 

これは、new Patient("John, "001", "Swaying, Nausea", ...)という呼び出しを使用して呼び出します。繰り返しますが、これはデータの読み込み方法に依存します。妥当な方法でデータを集めることができない場合は、accessors and mutatorsを作成することもできます。

+0

public Patient1(int i、String n、int a、double w、int h、int bp1、int bp2、int bp3、int bp4、int bp5、int bp6、int bp7、ストリングs){ id = i ;
name = n;
年齢= a;
重量= w;
高さ= h;
BP1 = bp1;
BP2 = bp2;
BP3 = bp3;
BP4 = bp4;
BP5 = bp5;
BP6 = bp6;
BP7 = bp7;
SYM = s;
今何をすればよいですか? – user1181810

+0

各行を配列番号で識別できますか? – user1181810

+0

@ user1181810、質問を編集してこれまでに試したことを含めることができます。それははるかに読みやすくなります。配列番号で各行を識別するために、私はあなたがこれによって何を意味するのか理解していないのではないかと思います。各 'Patient'オブジェクトを配列または' ArrayList'に格納すると、入ってくる順にそれらを戻すことができます( 'toString()'を拡張して各オブジェクトの値を返します)あなたがまだわからない場合は、質問を更新してあなたの意図を明確にしてください。 – Makoto

関連する問題