Hallo!
Ich muss ein Programm erstellen der einen PhoneBook "simulieren soll".Nämlich soll ich ein interface implementieren der methoden enthält und diese methoden sollen folgendes machen. Lookup sollte eine Person suchen und wen der Name gleich ist soll es das Person objekt züruckliefern. Die methode Insert und Delete sind e schön klar.Ich habe versucht alles zu implementieren aber es klappt nicht so gut.
Wir sollen auch diese compareTo methode verwenden,aber ich bin mir nicht sicher wie dass gehen soll, und ich habe auch eine Klasse Person;
Ein bisschen hilfe wäre gut, Danke!
Ich muss ein Programm erstellen der einen PhoneBook "simulieren soll".Nämlich soll ich ein interface implementieren der methoden enthält und diese methoden sollen folgendes machen. Lookup sollte eine Person suchen und wen der Name gleich ist soll es das Person objekt züruckliefern. Die methode Insert und Delete sind e schön klar.Ich habe versucht alles zu implementieren aber es klappt nicht so gut.
Java:
class PhoneBookList implements PhoneBook {
private int size = 0;
Node head = null;
public Person lookup(String name) {
Node p = head;
int pos = 0;
while( p!=null) {
int comparison = p.compareTo(name);
if(comparison == 0)
return person;
else Out.println("Person does not exist");
return false;
}
}
public boolean insert(Person person) {
Node p = head;
Node prev = null;
while( p!=null) {
Node n = new Node(person);
n.next = p;
if(prev == null) {
head = n;
}else{
prev.next = n;
}
size++;
}
}
public boolean delete(String name) {
Node p = head;
Node prev = null;
while( p!=null) {
prev = p;
p = p.next;
int comparison = p.compareTo(name);
if(comparison == 0) {
prev.next = p.next;
return true;
}else {
Out.println("The person does not exist");
return false;
}
size--;
}
}
public int size() {
Out.println(size);
}
static final class Node {
final Person person;
Node next;
Node(Person person) {
this.person = person;
}
}
@Override
public String toString() {
return String.format("%-10s, %-20s, %-10s", name, address, phoneNr);
}
}
Wir sollen auch diese compareTo methode verwenden,aber ich bin mir nicht sicher wie dass gehen soll, und ich habe auch eine Klasse Person;
Java:
class Person {
final String name;
final String address;
final String phoneNr;
Person(String name, String address, String phoneNr) {
this.name = name;
this.address = address;
this.phoneNr = phoneNr;
}
@Override
public String toString() {
return String.format("%-10s, %-20s, %-10s", name, address, phoneNr);
}
}
Ein bisschen hilfe wäre gut, Danke!