====== Mögliche Lösung zur Personendatenbank ======
Die Aufgabenstellung finden Sie [[training:person_db:start|hier]].
import pers.*;
import java.io.Console;
import java.lang.Integer;
public class hello
{
public static void main ( String[] args )
{
pers.menu men = new pers.menu();
while (men.main_menu()) {;}
System.out.println("Und tschüss!\n");
}
}
package pers;
import java.util.*;
public class database
{
ArrayList payload;
public database()
{
payload=new ArrayList();
}
public void add ( person p )
{
payload.add(p);
}
public void remove ( person p )
{
payload.remove(p);
}
public void remove ( int i )
{
payload.remove(i);
}
public void set ( person old, person p )
{
int i = payload.indexOf ( old );
payload.set(i, p);
}
public pers.person get ( int index )
{
return payload.get(index);
}
public int size ()
{
return payload.size();
}
public void list ()
{
pers.person p;
for (int i=0; i
package pers;
public class menu
{
private pers.database db;
public menu()
{
this.db = new database();
}
public boolean main_menu()
{
System.out.println ( "1 Neuen Datensatz hinzufügen\n"+
"2 Alle Datensätze anzeigen\n"+
"3 Einen Datensatz ändern\n"+
"4 Einen Datensatz löschen\n"+
"5 Programm beenden");
java.io.Console console = System.console();
char choice = console.readLine ("Deine Wahl: ").charAt(0);
if (choice=='1')
{
this.main_add();
}
else if (choice=='2')
{
this.show_all();
}
else if (choice=='3')
{
this.main_change();
}
else if (choice=='4')
{
this.main_delete();
}
else if (choice=='5')
{
return false;
}
else
{
}
return true;
}
public void main_add()
{
java.io.Console console = System.console();
String name = console.readLine ("Name: ");
String adress = console.readLine ("Adress: ");
int phone = java.lang.Integer.parseInt( console.readLine ("Phone: ") );
pers.person myperson = new pers.person ( name, adress, phone );
this.db.add ( myperson );
}
public void main_delete()
{
if (db.size() < 1)
return;
this.show_all();
java.io.Console console = System.console();
int index = java.lang.Integer.parseInt( console.readLine("Welcher Index soll gelöscht werden? "));
pers.person p = db.get( index );
char choice = console.readLine("Sind Sie sicher, dass Eintrag '" + p.getName() + "' gelöscht werden soll? (y|n) ").charAt(0);
if (choice=='y')
{
db.remove(index);
}
}
public void main_change()
{
if (db.size() < 1)
return;
this.show_all();
java.io.Console console = System.console();
int index = java.lang.Integer.parseInt( console.readLine("Welcher Index soll geändert werden? "));
pers.person p = db.get( index );
pers.person old=p;
p.printInfo();
String name = console.readLine("Neuer Name: ");
String adress = console.readLine("Neue Adresse: ");
String phone = console.readLine("Neue Phone-Nummer: ");
if (!name.isEmpty())
p.setName(name);
if (!adress.isEmpty())
p.setAdress(adress);
if (!phone.isEmpty())
p.setPhone( java.lang.Integer.parseInt( phone ) );
db.set ( old, p );
}
public void show_all ()
{
db.list();
}
}
package pers;
public class person
{
private String name;
private String adress;
private int phone;
public person ( String nm, String adr, int ph )
{
this.name=nm;
this.adress=adr;
this.phone=ph;
}
public String getName()
{
return this.name;
}
public String getAdress()
{
return this.adress;
}
public int getPhone()
{
return this.phone;
}
public void setName( String nm )
{
this.name=nm;
}
public void setAdress ( String adr )
{
this.adress=adr;
}
public void setPhone ( int ph )
{
this.phone=ph;
}
public void printInfo ()
{
System.out.println ( " Name: " + name + "\n"+
" Adress: " + adress + "\n"+
" Phone: " + phone);
}
}
===== Makefile =====
CC=javac
TO=-d ../class
all:
$(CC) $(TO) pers/database.java
$(CC) $(TO) pers/person.java
$(CC) $(TO) pers/menu.java
$(CC) $(TO) -classpath ../class hello.java