Guten Tag,
ich habe vor kurzem einen Thread im Forum geöffnet bei dem es um eine Idee ging, die ich inzwischen zu teilen umgesetzt habe. Bevor ich weiter programmiere würde ich gerne von euch hören wie ihr meinen bisher fertigen Code beurteilt und ob ihr noch Anregungen habt?
Kurze Erklärung: Die Klasse Person verwaltet die entsprechenden Attribute, die von den Methoden der Klasse InputUi genutzt werden um ein paar Eckdaten über eine Person zu erfassen. Aufgerufen werden die Methoden letztendlich in der Klasse DataSheet.
Ich bin gespannt auf eure Antworten
Viele Grüße
ich habe vor kurzem einen Thread im Forum geöffnet bei dem es um eine Idee ging, die ich inzwischen zu teilen umgesetzt habe. Bevor ich weiter programmiere würde ich gerne von euch hören wie ihr meinen bisher fertigen Code beurteilt und ob ihr noch Anregungen habt?
Code:
public class Person {
private int aktuellesJahr;
private int aktuellerMonat;
private int tatsaechlichesAlter;
private int geburtsjahr;
private int geburtsmonat;
private String geschlecht;
private String vorname;
private String nachname;
public int getAktuellesJahr() {
return aktuellesJahr;
}
public void setAktuellesJahr(int aktuellesJahr) {
this.aktuellesJahr = aktuellesJahr;
}
public int getAktuellerMonat() {
return aktuellerMonat;
}
public void setAktuellerMonat(int aktuellerMonat) {
this.aktuellerMonat = aktuellerMonat;
}
public int getTatsaechlichesAlter() {
return tatsaechlichesAlter;
}
public void setTatsaechlichesAlter(int tatsaechlichesAlter) {
this.tatsaechlichesAlter = tatsaechlichesAlter;
}
public int getGeburtsjahr() {
return geburtsjahr;
}
public void setGeburtsjahr(int geburtsjahr) {
this.geburtsjahr = geburtsjahr;
}
public int getGeburtsmonat() {
return geburtsmonat;
}
public void setGeburtsmonat(int geburtsmonat) {
this.geburtsmonat = geburtsmonat;
}
public String getGeschlecht() {
return geschlecht;
}
public void setGeschlecht(String geschlecht) {
this.geschlecht = geschlecht;
}
public String getVorname() {
return vorname;
}
public void setVorname(String vorname) {
this.vorname = vorname;
}
public String getNachname() {
return nachname;
}
public void setNachname(String nachname) {
this.nachname = nachname;
}
}
Code:
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JOptionPane;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class InputUi {
private Person person;
public InputUi() {
this.person = new Person();
}
public void alterErfassen() {
person.setAktuellesJahr(new GregorianCalendar().get(Calendar.YEAR));
person.setAktuellerMonat(Calendar.MONTH);
person.setGeburtsjahr(Integer.parseInt(JOptionPane.showInputDialog("Geben Sie ihr Geburtsjahr ein")));
person.setGeburtsmonat(Integer.parseInt(JOptionPane.showInputDialog("Geben Sie ihren Geburtsmonat ein")));
person.setTatsaechlichesAlter(person.getAktuellesJahr() - person.getGeburtsjahr());
if (person.getGeburtsmonat() > person.getAktuellerMonat()) {
person.setTatsaechlichesAlter(person.getTatsaechlichesAlter() - 1);
} else {
person.setTatsaechlichesAlter(person.getTatsaechlichesAlter());
}
}
public void geschlechtErfassen() {
person.setGeschlecht(JOptionPane.showInputDialog("Sind Sie männlich oder weiblich?"));
if (person.getGeschlecht().equals("männlich")) {
person.setGeschlecht("Herr");
} else {
person.setGeschlecht("Frau");
}
}
public void namenErfassen() {
person.setVorname(JOptionPane.showInputDialog("Geben Sie Ihren Vornamen ein"));
person.setNachname(JOptionPane.showInputDialog("Geben Sie Ihren Nachnamen ein"));
}
public boolean richtigkeitDaten() {
int richtig = JOptionPane.showConfirmDialog(null,
"Bitte überprüfen Sie die folgenden Angaben. Sie sind: \n" + "Herr " + person.getVorname() + " "
+ person.getNachname() + " " + person.getTatsaechlichesAlter() + " Jahre alt?");
if (richtig == JOptionPane.YES_OPTION) {
return true;
} else {
return false;
}
}
public void datenInDatei() throws IOException {
String pfadangabe = JOptionPane.showInputDialog("Geben sie den Pfad zum Speicherort ein");
File datei = new File(pfadangabe);
datei.createNewFile();
FileWriter schreiber = new FileWriter(pfadangabe);
schreiber.write("Alter: " + person.getTatsaechlichesAlter() + "Anrede: " + person.getGeschlecht() + " Vorname: "
+ person.getVorname() + " Nachname: " + person.getNachname());
schreiber.flush();
schreiber.close();
}
}
Code:
import java.io.IOException;
public class DataSheet {
public static void main(String[] args) throws IOException {
InputUi person1 = new InputUi();
person1.alterErfassen();
person1.geschlechtErfassen();
person1.namenErfassen();
if (person1.richtigkeitDaten() == true) {
person1.datenInDatei();
} else {
System.out.println("Fehler");
System.exit(0);
}
}
}
Kurze Erklärung: Die Klasse Person verwaltet die entsprechenden Attribute, die von den Methoden der Klasse InputUi genutzt werden um ein paar Eckdaten über eine Person zu erfassen. Aufgerufen werden die Methoden letztendlich in der Klasse DataSheet.
Ich bin gespannt auf eure Antworten
Viele Grüße