Diskusi Abdullah Chaniago

Selesai
Abdullah Chaniago
Ditanyakan pada: View Menghapus Todolist

View Menghapus Todolist - if (number.equals("x"))

https://github.com/saintzack/learnjava.git https://ibb.co/bsGqJNc

min saya udah lampirkan kodenya diatas beserta ss nya...

pertanyaan: mengapa fungsi enter "x" bisa berjalan, sementara method viewShowTodoList gak dipanggil pada testViewRemoveTodoList...

5 Jawaban

Avatar
Abdullah Chaniago

2 years ago

padahal juga ada fungsi else pada viewShowTodoList jika input selain 1,2 dan x, akan memunculkan "Pilihan tidak dimengerti", tetapi ketika dirun pada testViewRemoveTodoList, sout "Pilihan tidak dimengerti" tidak muncul ketika input karakter ngasal..

Avatar
BroKoding

2 years ago

Hi ka, yang pertama perlu diperhatikan yakni cara kerja method viewShowTodoList bersifat repetitif. Bagaimana tau method ini akan terus mengulang? Yakni dari seluruh method ada didalam while loop dengan klausa true : while (true) { // seluruh isi method }. Artinya selama tidak ada pernyataan break; yang dijalankan, status loop akan terus bernilai true sehingga secara urutan setelah method selesai, akan diulangi dari awal lagi. Maka dari itu program hanya akan berhenti jika menginputkan x pada input("Pilih").

Avatar
Nur Askiah

2 years ago

Halo, method viewShowTodoList sudah terpanggil kak dengan bukti adanya tulisan "MENGHAPUS TODOLIST Nomor yang dihapus (enter x jika batal)" di consolenya.

Pengecekan untuk karakter selan 1, 2, dan x hanya ada di method viewShowTodoList sehingga hanya akan jalan jika memanggil method tersebut. Jika ingin tulisan "Pilihan tidak dimengerti" tersebut muncul juga di method viewRemoveTodolist, maka harus menambahkan pengecekan juga di method tersebut.

Avatar
Faisal Hanafi

2 years ago

Hallo kak

apa belum solved mengenai case ini? jika belum mohon beritahu kami ya kak biar kami bantu apa bila sudah solved mohon di tandai selesai ya kak

Avatar
Muhammad Fakhry Burhanuddin

2 years ago

Hi Abdullah,

Saya coba bantu jawab ya.

public static void viewRemoveTodolist() {
        System.out.println("MENGHAPUS TODOLIST");

        var number = input("Nomor yang dihapus (enter x jika batal)");
        if (number.equals("x")) {
            // batal
        } else {
            boolean success = removeTodolist(Integer.valueOf(number));
            if (!success) {
                System.out.println("Gagal menghapus todolist : " + number);
            }
        }
    }

Di method testViewRemoveTodoList() baris ke-221, code method viewRemoveTodolist dipanggil. di situ ada code if(number.equals("x")). Artinya kalau input "x" program akan melanjutkan mengeksekusi baris ke-223 yaitu method showTodolist()