Untitled
unknown
plain_text
a year ago
4.6 kB
6
Indexable
// AdminSystemCLI.java package assignments.assignment3.systemCLI; import assignments.assignment2.Menu; import assignments.assignment2.Restaurant; import java.util.ArrayList; import java.util.Scanner; public class AdminSystemCLI extends UserSystemCLI { private Scanner input; private ArrayList<Restaurant> restoList; public AdminSystemCLI(Scanner input, ArrayList<Restaurant> restoList) { this.input = input; this.restoList = restoList; } @Override public void displayMenu() { System.out.println("\n--------------------------------------------"); System.out.println("Pilih menu:"); System.out.println("1. Tambah Restoran"); System.out.println("2. Hapus Restoran"); System.out.println("3. Keluar"); System.out.println("--------------------------------------------"); System.out.print("Pilihan menu: "); } @Override protected boolean handleMenu(int command){ switch(command){ case 1 -> { handleTambahRestoran(); return true; } case 2 -> { handleHapusRestoran(); return true; } case 3 -> { return false; } default -> { System.out.println("Perintah tidak diketahui, silakan coba kembali"); return true; } } } // Method untuk penambahan restoran baru public void handleTambahRestoran(){ String nama; boolean isRestoranExist = false; do { System.out.println("Tambah Restoran"); System.out.print("Nama: "); nama = input.nextLine(); // Memeriksa apakah nama restoran vald dan belum terdaftar if (nama.length() < 4) { System.out.println("Nama restoran tidak valid. Mohon masukkan nama yang memiliki minimal 4 karakter!"); continue; } isRestoranExist = false; for (Restaurant r : restoList) { if (r.getNama().equalsIgnoreCase(nama)) { System.out.println("Restoran dengan nama " + nama + " sudah pernah terdaftar. Mohon masukkan nama yang berbeda!"); isRestoranExist = true; break; } } } while (isRestoranExist || nama.length() < 4); System.out.print("Jumlah Makanan: "); int jumlahMakanan = input.nextInt(); input.nextLine(); ArrayList<Menu> menu = new ArrayList<>(); // Meminta pengguna untuk memasukkan item menu yang tersedia di restoran for (int i = 0; i < jumlahMakanan; i++) { System.out.print("Nama Makanan: "); String namaMakanan = input.nextLine(); double harga; do { System.out.print("Harga: "); while (!input.hasNextDouble()) { System.out.println("Harga menu harus bilangan bulat!"); System.out.print("Harga: "); input.next(); } harga = input.nextDouble(); } while (harga <= 0); input.nextLine(); menu.add(new Menu(namaMakanan, harga)); } // Menambhakan restoran baru ke daftar restoran restoList.add(new Restaurant(nama, menu)); System.out.println("Restaurant " + nama + " berhasil terdaftar."); } // Method untuk penghapusan restoran public void handleHapusRestoran() { Restaurant resto = null; do { System.out.println("Hapus Restoran"); System.out.print("Nama Restoran: "); String nama = input.nextLine(); // Mencari restoran berdasarkan nama for (Restaurant r : restoList) { if (r.getNama().equalsIgnoreCase(nama)) { resto = r; break; } } // Jika restoran tidak ditemukan, kembali ke menu if (resto == null) { System.out.println("Restoran tidak terdaftar pada sistem. Silakan masukkan lagi."); } else { // Menghapus restoran dari daftar restoran restoList.remove(resto); System.out.println("Restoran berhasil dihapus."); } } while (resto == null); } }
Editor is loading...
Leave a Comment