J
Julia112
Gast
Hallo Community,
für ein Informatik Projekt bräuchte ich dringend Unterstützung.
Ich habe das Grundgerüst gerade so hinbekommen. Komme aber nicht mehr weiter. Wir sollten ein Programm schreiben für eine Arztpraxis. Dabei habe ich mich auf die wensentlichen Aufgaben beschränkt wie das anlegen eines Patienten, der Medikamenten etc.
Nun zu meiner eigenlichen Frage zur letzten Menüfunktion wie lässt sich die Funktion so umsetzten, dass man zuerst den Patienten auswählt und als nächstes dann die ihm verschriebene Medizin angezeigt bekommt.
Ist es auch möglich den Patienten um die Versicherungsnummer zu erweitern und dann mittels einer Suchfunktion diesen über die Versicherungsnummer aufzurufen.
Da ich leider so gut wie keinerlei Erfahrung mit Java habe, hoffe ich ihr könnt mir helfen.
Gruß Julia
für ein Informatik Projekt bräuchte ich dringend Unterstützung.
Ich habe das Grundgerüst gerade so hinbekommen. Komme aber nicht mehr weiter. Wir sollten ein Programm schreiben für eine Arztpraxis. Dabei habe ich mich auf die wensentlichen Aufgaben beschränkt wie das anlegen eines Patienten, der Medikamenten etc.
Java:
//import java.util.*;
import java.io.*;
public class EingabenAbfangen
{
BufferedReader br;
public String getInput()
{
String back = null;
try
{
br = new BufferedReader
(new InputStreamReader(System.in));
back=br.readLine();
}
catch(IOException ioe)
{
System.err.println("Fehler beim Einlesen");
}
return back;
}
}
Java:
//neue Klasse Patient
public class Patient
{
//Variablen für die Eigenschaften definieren
private int PatientNr = 0;
private String Name="";
private String Vorname="";
private String Strasse="";
private String Hausnummer="";
private String PLZ="";
private String Ort="";
//private String Vnr="";
public Patient()
{}
public Patient(int PatientNr,String Name,String Vorname,String Strasse,String Hausnummer, String PLZ, String Ort)
{
this.PatientNr = PatientNr;
this.Name = Name;
this.Vorname = Vorname;
this.Strasse = Strasse;
this.Hausnummer = Hausnummer;
this.PLZ = PLZ;
this.Ort = Ort;
//this.Vnr = Vnr;
}
/*Funktionen/Methoden definieren um die Werte auszulesen
//auf set-Methoden wird verzichtet da die Werte nur initial
über den Knostruktor gefüllt werden
*/
public int getPatientNr()
{
return this.PatientNr;
}
public String getName()
{
return this.Name;
}
public String getVorname()
{
return this.Vorname;
}
public String getStrasse()
{
return this.Strasse;
}
public String getHausnummer()
{
return this.Hausnummer;
}
public String getPLZ()
{
return this.PLZ;
}
public String getOrt()
{
return this.Ort;
}
//public String getVnr()
//{
//return this.Vnr;
//}
}
Java:
public class Medizin
{
//Variablen um die Eigenschaften eines Medizines abzubilden
private int MedizinNr=0;
private String Hersteller="";
private String Name="";
//Konstruktor um beim Erzeugen eines neuen Objektes
//vom Typ Medizin gleich die Eigenschaften mitzugeben
public Medizin(int medizinnr, String hersteller, String name)
{
this.MedizinNr = medizinnr;
this.Hersteller = hersteller;
this.Name = name;
}
//Konstruktor um ein Objekt Medizin ohne √úbergabe der Eigenschaften
//zu erzeugen. Dann müssen die set-Methoden verwendet werden.
public Medizin()
{}
public int getMedizinNr()
{
return this.MedizinNr;
}
public String getHersteller()
{
return this.Hersteller;
}
public String getName()
{
return this.Name;
}
public void setMedizinNr(int medizinnr)
{
this.MedizinNr = medizinnr;
}
public void setName(String name)
{
this.Name = name;
}
public void setHersteller(String hersteller)
{
this.Hersteller = hersteller;
}
}
Java:
public class Medizinverschreib
{
//Variablen und den Verschreibvorgang zu definieren
private int VerschreibNr;
private int PatientNr;
private int MedizinNr;
//leerer Konstruktor
public Medizinverschreib()
{}
public Medizinverschreib(int VerschreibNr,int PatientNr, int MedizinNr)
{
this.VerschreibNr = VerschreibNr;
this.PatientNr = PatientNr;
this.MedizinNr = MedizinNr;
}
public void setPatientNr(int PatientNr)
{
this.PatientNr = PatientNr;
}
public void setMedizinNr(int MedizinNr)
{
this.MedizinNr = MedizinNr;
}
public void setVerschreibNr(int VerschreibNr)
{
this.VerschreibNr = VerschreibNr;
}
public int getPatientNr()
{
return this.PatientNr;
}
public int getMedizinNr()
{
return this.MedizinNr;
}
public int getVerschreibNr()
{
return this.VerschreibNr;
}
}
Java:
import java.util.*;
public class Menue
{
//Klasse zum Abfangen der Eingaben instanziieren
//um die Methode getInput() zu benutzen
private EingabenAbfangen ea = new EingabenAbfangen();
//Vektoren um Daten zu speichern
private Vector<Patient> patienten = new Vector<Patient>();
private Vector<Medizin> medizine = new Vector<Medizin>();
private Vector<Medizinverschreib> verschreibeneMedizine = new Vector<Medizinverschreib>();
//Zählervariablen um automatisch Bücher, Patientn und
//verliehene Bücher mit Nummern zu versehen
private int PatientNr = 1000;
private int MedizinNr = 2000;
private int VersMediZaehler = 3000;
public Menue()
{
/*hier werden Methoden aufgerufen um vor dem Menustart
ein paar initiale Werte für Patientn, Bücher und
Verschreibvorg√§nge anzulegen
*/
initBeispielWertePatient();
initBeispielWerteMedizine();
initBeispielWerteVerschreib();
//Endlosschleife fürs Menu
while(true)
{
zeigeMenueAn();
}
}
//Menu
public void zeigeMenueAn()
{
System.out.println("1...Patient anlegen");
System.out.println("2...Patient anzeigen");
System.out.println("3...Medizin anlegen");
System.out.println("4...Medizine anzeigen");
System.out.println("5...Medizin an Patient verschreiben");
System.out.println("6...Verschriebene Medizin zeigen");
//System.out.println("7...Medizin zurückgeben");
System.out.println("9...Exit");
String eingabe = ea.getInput();
if(eingabe.equals("1"))
{
legePatientAn();
}
else if(eingabe.equals("2"))
{
zeigePatientnAn();
}
else if(eingabe.equals("3"))
{
legeMedizinAn();
}
else if(eingabe.equals("4"))
{
zeigeMedizineAn();
}
else if(eingabe.equals("5"))
{
legeMedizinVerschreibAn();
}
else if(eingabe.equals("6"))
{
zeigeMedizinVerschreibAn();
}
else if(eingabe.equals("9"))
{
System.out.println("Ciao");
System.exit(0);
}
else
{
System.out.println("Menüpunkt "+eingabe+" existiert nicht !!");
}
}
public static void main(String args[])
{
new Menue();
}
//Methode um neue Patientn anzulegen, wird in Menu 1 aufgerufen
public void legePatientAn()
{
//Alle einzelnen Informationen abfragen und in Variablen speichern
//um diese Variablen dann an den Konstruktor von Patient zu übergeben
System.out.println("Neuen Patientn anlegen....");
System.out.print("Name eingeben: ");
String name = ea.getInput();
System.out.print("Vorname eingeben: ");
String vorname = ea.getInput();
System.out.print("Strasse eingeben: ");
String strasse = ea.getInput();
System.out.print("Hausnummer eingeben: ");
String hausnummer = ea.getInput();
System.out.print("PLZ eingeben: ");
String plz = ea.getInput();
System.out.print("Ort eingeben: ");
String ort = ea.getInput();
//Alle Variablen dem Konstruktor übergeben damit ein neuer Patient im
//Objekt k angelegt werden kann
Patient k = new Patient(++PatientNr,name,vorname,strasse,hausnummer,plz,ort);
//hier das Objekt k in den Vector patienten stopfen
patienten.addElement(k);
}
// Methode um alle im Vektor vorhandenen
// Patientn anzuzeigen für Menu 2
public void zeigePatientnAn()
{
for(int i=1;i<=patienten.size();i++)
{
Patient dummy = (Patient)patienten.elementAt(i-1);
System.out.println(dummy.getPatientNr()+"\t"+dummy.getName()+"\t"+
dummy.getVorname()+"\t"+dummy.getStrasse()+"\t"+
dummy.getHausnummer()+"\t"+dummy.getPLZ()+"\t"+dummy.getOrt());
}
}
//Methode um ein paar Patientn in den Vektor von Anfang an reinzuschreiben
public void initBeispielWertePatient()
{
Patient k = new Patient(++PatientNr,"Schneider","Simon","Chillerweg","1","12345","Chillhausen");
patienten.addElement(k);
k = new Patient(++PatientNr,"Hartmann","Shari","Chillerweg","2","12347","Chillhausen");
patienten.addElement(k);
}
//Methode um neue Medizin4 anzulegen - Menu 3
public void legeMedizinAn()
{
Medizin b = new Medizin();
System.out.println("Neues Medizin anlegen....");
b.setMedizinNr(++MedizinNr);
System.out.print("Name eingeben: ");
b.setName(ea.getInput());
System.out.print("Autor eingeben: ");
b.setHersteller(ea.getInput());
medizine.addElement(b);
}
//Methoden um die angelegten Medizin anzuzeigen - Menu 4
public void zeigeMedizineAn()
{
for(int i=1;i<=medizine.size();i++)
{
Medizin dummy = (Medizin)medizine.elementAt(i-1);
System.out.println(dummy.getMedizinNr()+"\t"+dummy.getName()+"\t"+
dummy.getHersteller());
}
}
//Methode um initial ein paar Bücher anzulegen
public void initBeispielWerteMedizine()
{
Medizin b = new Medizin(++MedizinNr,"Aliud Pharma GmbH","Nasenspray AL 0,1%");
medizine.addElement(b);
b = new Medizin(++MedizinNr,"InfectoPharm","Capval Tropfen 25 mg/g");
medizine.addElement(b);
}
//Methode um Verschreibvorg√§nge anzulegen - Menu 5
public void legeMedizinVerschreibAn()
{
Medizinverschreib buchleihe = new Medizinverschreib();
System.out.println("Neuen Verschreib anlegen");
System.out.println("Vorhandene Patientn:");
zeigePatientnAn();
System.out.print("Bitte Patientnnummer eingeben: ");
buchleihe.setPatientNr(Integer.parseInt(ea.getInput()));
System.out.println("Vorhandene Medizin:");
zeigeMedizineAn();
System.out.print("Bitte MedizinNr eingeben: ");
buchleihe.setMedizinNr(Integer.parseInt(ea.getInput()));
buchleihe.setVerschreibNr(++VersMediZaehler);
verschreibeneMedizine.addElement(buchleihe);
}
//Methode um alle verschriebenen Medizine und Patient
//anzuzeigen - Menu 6
public void zeigeMedizinVerschreibAn()
{
System.out.println("Verliehene Bücher: ");
for(int i=1;i<=verschreibeneMedizine.size();i++)
{
Medizinverschreib bl = (Medizinverschreib)verschreibeneMedizine.elementAt(i-1);
Patient k = findePatient(bl.getPatientNr());
Medizin b = findeMedizin(bl.getMedizinNr());
//System.out.println(bl.getVerschreibNr()+"\t"+bl.getPatientNr()+"\t"+bl.getMedizinNr());
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
System.out.println("laufende Nummer: "+bl.getVerschreibNr());
System.out.print("Patient: "+k.getName()+", "+k.getVorname()+", ");
System.out.print("wohnhaft in: "+k.getStrasse()+" "+k.getHausnummer()+", ");
System.out.println(k.getPLZ()+" "+k.getOrt());
System.out.println("Verschriebene Medizin: "+b.getName()+"\r\nvon: "+b.getHersteller());
System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
}
}
//ein paar Beispiele anlegen von Medizin die verschrieben sind
public void initBeispielWerteVerschreib()
{
Medizinverschreib b;
b = new Medizinverschreib(++VersMediZaehler,1001,2002);
verschreibeneMedizine.addElement(b);
b = new Medizinverschreib(++VersMediZaehler,1002,2001);
verschreibeneMedizine.addElement(b);
}
//Hilfsmethode um anhand der Patientnnummer die restlichen
//Infos des Patientn zu bekommen.
//wird benötigt in der Methode zeigeMedizinVerschreibAn()
public Patient findePatient(int PatientNr)
{
Patient k = new Patient();
for(int i=1;i<=patienten.size();i++)
{
k = (Patient)patienten.elementAt(i-1);
if(k.getPatientNr()==PatientNr)
{
break;
}
else
{
k = new Patient();
}
}
return k;
}
//Hilfsmethode um anhand der MedizinNr die restlichen
//Infos des Medizines zu bekommen.
//wird benötigt in der Methode zeigeMedizinVerschreibAn()
public Medizin findeMedizin(int MedizinNr)
{
Medizin b = new Medizin();
for(int i=1;i<=medizine.size();i++)
{
b = (Medizin)medizine.elementAt(i-1);
if(b.getMedizinNr()==MedizinNr)
{
break;
}
else
{
b = new Medizin();
}
}
return b;
}
}
Nun zu meiner eigenlichen Frage zur letzten Menüfunktion wie lässt sich die Funktion so umsetzten, dass man zuerst den Patienten auswählt und als nächstes dann die ihm verschriebene Medizin angezeigt bekommt.
Ist es auch möglich den Patienten um die Versicherungsnummer zu erweitern und dann mittels einer Suchfunktion diesen über die Versicherungsnummer aufzurufen.
Da ich leider so gut wie keinerlei Erfahrung mit Java habe, hoffe ich ihr könnt mir helfen.
Gruß Julia