2016-04-27 8 views
1

配列にどのように追加するのか分からず、テストファイルから配列を入力するように求められましたが、クラスPatientで定義しています。何か案は?クラス内の配列にテストファイルからオブジェクトを追加しますか?

public class Patient 
    { 
    private String name; 
    private int id; 
    private int current = 1; 
    public Patient(String name, int id) 
    { 
     this.name = name; 
     this.id = id; 
     Patient[] patient = new Patient[100]; 
     String[] Observations; 
     System.out.print(patient[0]); 
    } 
    public String addPatient(String name,int id) 
    { 
    Patient[current-1] = new Patient(name,id); 
    } 
} 

// extract from class PatientRecordSystem 
public void addPatient() 
{ 
    String name = "James"; 
    int id = 10122; 
    Patient patient = new Patient(name, id); 
} 
+1

あなたは 'Patient'クラスで配列を定義していませんでしたが、' Patient'クラスの特定のコンストラクタのローカル変数として定義しました。 – SomeJavaGuy

答えて

1

コードの下に使用してください。

これは、多くのレベルでは単に間違っています。まず第一に、1人の「患者」はちょうどそれでなければならない - 単一の患者の表現。あなたが医者に行くと患者になるとき...約100人の他の患者を知るように求められますか?それでは、コンストラクタで定義した配列...コンストラクタの実行中に存続するだけです。電話がかかったらすぐに消えてしまう。

Patient newPatient = new Patient(...) 

リターン

つまり、という複数の患者を「管理する」クラスを考えてみてください。そして、あなたは "患者用オブジェクト"を作成します。それについてマネージャに伝えてください。そして、「管理された」患者を追跡するために、「マネージャー」は配列(または、もっと動的なリスト)を使用しています。

-2

まず、配列を宣言する必要があります。あなたは、配列のサイズを知っていれば

Patient[] patients = new Patient[100]; 

あなたのような何かを行うことができます。

動的配列を作成する場合は、いくつの要素を持つか分からないため、そのようなことをすることができます。

List<Patient> patients = new ArrayList<Patient>(); 

次に、あなたは、配列に値を割り当てることができます:あなたはあなたがそのような何かを行うことができ、固定配列を宣言した場合は

患者[0] =新しい患者(名前、ID) ;

あなたが動的配列を宣言している一方、コードは次のようになります。アンドリューはちょうどあなたのためにそれが容易、正確であることを特徴とするものは何でも

patients.add(new Patient(name, id)); 
+1

ジャストコード、説明なし。そして、絶対に**彼の問題を手助けしていない...非常に悪い答えをします。 – GhostCat

+0

@Jägermeisterあなたは正しいです、私は答えがそれが何の説明も必要ではなかったのでとても分かりました。しかし、質問した人がプログラミングについて多くのことを知らないと仮定しよう。私は私の答えを変更するつもりです。 –

+1

尋ねた人は、彼がちょうどjavaを学び始めたという。プラス:後であなたの質問/回答を誰が読むのかを決して**知りません。あなたは**常に**あなたがその質問で観察できる「専門知識のレベル」と一致するものを書くように努めなければなりません。それ以外に、 '<> 'を忘れてしまったので、あなたの答えは"生の型 "の警告になります。メソッド 'Add()'が存在しないためコンパイルされません。あなたの評判を押し進めるにはちょっとした作業**が必要です。他の人に悪いコードを投げるだけではありません。そして、うわー、修正された答えでさえ依然として間違ったコードを使用しています。 – GhostCat

0

。あなたの問題は、あなたのPatientクラスのコンストラクタ以内に患者のオブジェクトを保持するためにそのリスト(または配列)を定義していることである

public class Patient 
    { 
    private String name; 
    private int id; 
    private int current = 1; 
    private Patient[] patient = new Patient[100]; 
    public Patient(String name, int id) 
    { 
     this.name = name; 
     this.id = id; 

     String[] Observations; 
     System.out.print(patient[0]); 
    } 
    public String addPatient(String name,int id) 
    { 
    patient[current-1] = new Patient(name,id); 
    } 
} 

// extract from class PatientRecordSystem 
public void addPatient() 
{ 
    String name = "James"; 
    int id = 10122; 
    Patient patient = new Patient(name, id); 
} 
関連する問題