diff --git a/.devcontainer.json b/.devcontainer.json new file mode 100644 index 0000000..bfbeb0d --- /dev/null +++ b/.devcontainer.json @@ -0,0 +1,3 @@ +{ + "image": "mcr.microsoft.com/devcontainers/java:21" +} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..add4f4e --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "vscjava.vscode-java-pack" + ] +} \ No newline at end of file diff --git a/Exercise.java b/Exercise.java index 3c092f9..df7ea05 100644 --- a/Exercise.java +++ b/Exercise.java @@ -1,6 +1,18 @@ public class Exercise { public static void main(String[] args) { - // implement exercise here + TelephoneBook telephoneBook = new TelephoneBook(); + + telephoneBook.addEntry( + new TelephoneBook.Person("Hans Maier"), + new TelephoneBook.TelephoneNumber("+49 67234 887261")); + telephoneBook.addEntry( + new TelephoneBook.Person("Peter Mueller"), + new TelephoneBook.TelephoneNumber("+49 7529 87612")); + telephoneBook.addEntry( + new TelephoneBook.Person("Lisa Schmidt"), + new TelephoneBook.TelephoneNumber("+49 8762 52081")); + + System.out.println(telephoneBook.getTelephoneNumberByName("Hans Maier")); } } diff --git a/TelephoneBook.java b/TelephoneBook.java new file mode 100644 index 0000000..077090e --- /dev/null +++ b/TelephoneBook.java @@ -0,0 +1,24 @@ +import java.util.HashMap; +import java.util.Map.Entry; + +public class TelephoneBook { + + private HashMap entries = new HashMap<>(); + + public void addEntry(Person person, TelephoneNumber telephoneNumber) { + entries.put(person, telephoneNumber); + } + + public TelephoneNumber getTelephoneNumberByName(String name) { + for (Entry entry : entries.entrySet()) { + if (entry.getKey().name().equals(name)) { + return entry.getValue(); + } + } + return null; + } + + public record Person(String name) {} + + public record TelephoneNumber(String value) {} +}