บทความนี้อธิบายถึงการดำเนินการอย่างง่าย ๆ ของปัญหาของเกษตรกรที่ข้ามแม่น้ำในชวา แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
1. คำอธิบายปัญหา
ชายชราต้องการตัดปลาสุนัขและแมวข้ามแม่น้ำไปอีกด้านหนึ่ง มีเรือที่สามารถนั่งได้เพียงคนเดียว ชายชราสามารถนำสัตว์หนึ่งตัวไปข้ามแม่น้ำได้ทุกครั้ง เมื่อชายชราไม่อยู่สุนัขจะกัดแมวและแมวจะกินปลา คุณข้ามแม่น้ำตามลำดับได้อย่างไร?
2. ใช้รหัส
การสาธิตแพ็คเกจ; นำเข้า java.util.arraylist; นำเข้า java.util.list; คลาสสาธารณะ crossriver {รายการ <string> list this = new ArrayList <String> (); รายการ <String> listThat = new ArrayList <String> (); /*บูลีน thisflag = true; บูลีน thatflag = false;*/ public crossriver () {listthis.add ("dog"); Listhis.add ("Fish"); Listhis.add ("cat"); // listthis.add ("คน"); } Public Boolean issafe (@suppresswarnings ("rawtypes") รายการ) {ถ้า (list.contains ("fish") && list.contains ("cat") || list.contains ("cat") && list.contains ("dog")) {return; } else {return true; }} โมฆะสาธารณะ thiTothat () {string str = listthis.get (0); Listhis.remove (STR); if (this.issafe (list this)) {system.out.println ("ชาวนาใช้" + str + "จากฝั่งนี้ไปยังฝั่งอื่น"); System.out.println ("ชายฝั่งนี้" + list this + "/b" + "Out Shore อื่น ๆ " + listthat); System.out.println (); Listhat.add (STR); Thattothis (); } else {listthis.add (str); สิ่งนี้ (); }} โมฆะสาธารณะที่ tothis () {ถ้า (listthis.isempty ()) {system.out.println ("ชายฝั่งนี้" + list this + "/b" + "ออกฝั่งอื่น ๆ " + listathat); กลับ; } if (issafe (list that)) {system.out.println ("ชาวนาไปจากฝั่งอื่น ๆ ไปยังฝั่งนี้"); System.out.println ("ชายฝั่งนี้" + list this + "/b" + "นอกชายฝั่ง" + listhat that); System.out.println (); สิ่งนี้ (); } else {string str = listthat.get (0); Listhat.remove (0); if (issafe (listthat that)) {system.out.println ("ชาวนาใช้" + str + "จากฝั่งอื่น ๆ ไปยังฝั่งนี้"); System.out.println ("ชายฝั่งนี้" + list this + "/b" + "นอกชายฝั่ง" + listhat that); System.out.println (); Listhis.add (STR); สิ่งนี้ (); } else {listthat.add (str); Thattothis (); }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {system.out.println ("ผลการทดสอบ wulin.com:"); System.out.println (); ใหม่ crossriver (). thistothat (); -ผลการทำงาน:
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอัลกอริทึม Java ผู้อ่านที่มีความสนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "โครงสร้างข้อมูล Java และการสอนอัลกอริทึม", "บทสรุปของเคล็ดลับการดำเนินงาน Java Dom", "บทสรุปของไฟล์ Java และเคล็ดลับการดำเนินการไดเรกทอรี" และ "สรุป
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน