Artikel ini menjelaskan implementasi sederhana dari masalah petani yang melintasi sungai di Jawa. Bagikan untuk referensi Anda, sebagai berikut:
1. Deskripsi Masalah
Pria tua itu ingin memotong ikan, anjing, dan kucing di seberang sungai ke sisi lain. Ada perahu yang hanya bisa duduk satu orang. Orang tua itu hanya bisa membawa satu binatang untuk menyeberangi sungai setiap saat. Ketika lelaki tua itu pergi, anjing itu akan menggigit kucing dan kucing itu akan memakan ikan. Bagaimana Anda menyeberangi sungai secara berurutan?
2. Menerapkan kode
demo paket; import java.util.arraylist; import java.util.list; kelas publik crossriver {list <string> listthis = new arraylist <string> (); Daftar <String> listThat = new ArrayList <String> (); /*boolean thisflag = true; boolean thatflag = false;*/ public crossriver () {listthis.add ("dog"); listthis.add ("ikan"); listthis.add ("kucing"); // listthis.add ("orang"); } Daftar daftar boolean publik (@suppressWarnings ("RawTypes") Daftar) {if (list.contains ("fish") && list.contains ("cat") || list.contains ("cat") && list.contains ("dog")) {return false; } else {return true; }} public void thistothat () {string str = listThis.get (0); ListThis.Remove (str); if (this.issafe (listThis)) {System.out.println ("The Farmer mengambil" + str + "dari pantai ini ke pantai lain"); System.out.println ("This Shore" + ListThis + "/B" + "Out Other Shore" + ListThat); System.out.println (); ListThat.Add (str); thattothis (); } else {listthis.add (str); Thistothat (); }} public void thattothis () {if (listThis.isempty ()) {System.out.println ("This Shore" + ListThis + "/B" + "Keluar Shore lain" + listThat); kembali; } if (isSafe (listThat)) {System.out.println ("Petani pergi dari pantai lain ke pantai ini"); System.out.println ("This Shore" + ListThis + "/B" + "Outside Shore" + ListThat); System.out.println (); Thistothat (); } else {string str = listThat.get (0); listThat.remove (0); if (isSafe (listThat)) {System.out.println ("petani mengambil" + str + "dari pantai lain ke pantai ini"); System.out.println ("This Shore" + ListThis + "/B" + "Outside Shore" + ListThat); System.out.println (); listthis.add (str); Thistothat (); } else {listThat.add (str); thattothis (); }} public static void main (string [] args) {System.out.println ("Hasil tes wulin.com:"); System.out.println (); baru crossriver (). Thistothat (); }}Hasil Menjalankan:
Untuk informasi lebih lanjut tentang algoritma Java, pembaca yang tertarik dengan situs ini dapat melihat topik: "struktur data java dan tutorial algoritma", "ringkasan tips node dom java", "ringkasan file operasi java dan direktori" dan "ringkasan tip operasi java cache" Java "Tips Operasi Java"
Saya harap artikel ini akan membantu pemrograman Java semua orang.