Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Write a description of class HashTable2 here.
- *
- * Samuel Berkat Hulu
- * @version 5.0 Tugas Struktur Data
- */
- import java.util.*;
- public class HastablePhonenumberApp
- {
- public static int hashFunction(String name){
- int hash = 0;
- for(int i=0; i<name.length(); i++){
- hash = hash*10 + name.charAt(i);
- }
- hash = hash % 499;
- return hash;
- }
- public static void main(String args[]){
- Hashtable<Integer, String> phonebook = new Hashtable<>();
- List<String> names = new ArrayList<String>();
- Scanner sc = new Scanner(System.in);
- int choice = -1;
- String number;
- String name;
- while(choice != 0){
- System.out.println("Silahkan pilih:\n1. Tambahkan kontak\n2. Cari kontak\n3. Hapus kontak\n4. Lihat semua\n0. Keluar");
- choice = sc.nextInt();
- switch(choice){
- case 1:
- System.out.println("Masukkan nomor telepon:");
- number = sc.next();
- System.out.println("Masukkan nama kontak:");
- name = sc.next();
- names.add(name);
- phonebook.put(hashFunction(name), number);
- System.out.println("Kontak telah ditambahkan");
- break;
- case 2:
- System.out.println("Masukkan nama kontak:");
- name = sc.next();
- number = phonebook.get(hashFunction(name));
- System.out.println("Nomor telepon: " + number);
- break;
- case 3:
- System.out.println("Masukkan nama kontak:");
- name = sc.next();
- names.remove(name);
- phonebook.remove(hashFunction(name));
- System.out.println("Kontak telah dihapus");
- break;
- case 4:
- if(phonebook.size() > 0){
- System.out.println(phonebook.size() + " kontak tersimpan");
- for(String i : names){
- System.out.println(i + ": " + phonebook.get(hashFunction(i)));
- }
- }
- else
- System.out.println("Tidak ada kontak yang tersimpan");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement