สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ตั้งค่าวิธีการหลักของคุณ
- ขั้นตอนที่ 2: สร้างส่วนหัววิธีการเรียกซ้ำของคุณ
- ขั้นตอนที่ 3: สร้าง Kicker/base Case ของคุณ
- ขั้นตอนที่ 4: ขั้นตอนแบบเรียกซ้ำ
- ขั้นตอนที่ 5: ทำให้ปัญหาสั้นลง
- ขั้นตอนที่ 6: สร้างอาร์เรย์ของจำนวนเต็ม
- ขั้นตอนที่ 7: เรียกวิธีการด้วยอาร์เรย์ของคุณ
- ขั้นตอนที่ 8: พิมพ์ผลลัพธ์
- ขั้นตอนที่ 9: ขอแสดงความยินดี
วีดีโอ: การรวม Array แบบเรียกซ้ำใน Java: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
การเรียกซ้ำเป็นขั้นตอนที่มีประโยชน์และประหยัดเวลาซึ่งสามารถแก้ปัญหาได้อย่างรวดเร็วด้วยโค้ดเพียงเล็กน้อย การเรียกซ้ำเกี่ยวข้องกับวิธีการที่คุณสร้างขึ้นเพื่อเรียกตัวเองว่าปัญหาเดิมสั้นลง
สำหรับตัวอย่างนี้ เราจะรวมอาร์เรย์ของจำนวนเต็ม 10 ตัว แต่ขนาดจะมีความยาวเท่าใดก็ได้
เสบียง
คุณควรทราบไวยากรณ์จาวาพื้นฐานและมี IDE หรือโปรแกรมแก้ไขข้อความเพื่อเขียนโค้ดสำหรับงานนี้
ขั้นตอนที่ 1: ตั้งค่าวิธีการหลักของคุณ
ในการเริ่มต้น ให้ตั้งค่าวิธีการหลักของคุณในคลาสที่สร้างขึ้นใหม่ ฉันตั้งชื่อคลาส RecursiveSum ของฉันแล้ว นี่คือที่ที่คุณจะสร้างอาร์เรย์ของจำนวนเต็มและเรียกวิธีการแบบเรียกซ้ำของคุณ
ขั้นตอนที่ 2: สร้างส่วนหัววิธีการเรียกซ้ำของคุณ
นอกวิธีการหลักของคุณ ให้สร้างส่วนหัวของวิธีการสำหรับวิธีการแบบเรียกซ้ำของคุณ
เมธอดเป็นแบบคงที่ เนื่องจากไม่ต้องใช้อ็อบเจ็กต์เพื่อใช้งาน
ประเภทการส่งคืนเป็น int เนื่องจากอาร์เรย์ที่เราจะใช้จะเป็นจำนวนเต็มในจำนวนเต็ม อย่างไรก็ตาม ค่านี้สามารถเปลี่ยนเป็นตัวเลขประเภทใดก็ได้ในอาร์เรย์
ฉันได้ตั้งชื่อวิธีการของฉัน recursiveSum ซึ่งจะรับสองพารามิเตอร์ อาร์เรย์ของจำนวนเต็มและดัชนีที่เราจะบวกเข้ากับผลรวม ฉันเรียกพารามิเตอร์เหล่านี้ว่าตัวเลขและดัชนีตามลำดับ
คุณจะเห็นข้อผิดพลาดในตอนนี้และก็ไม่เป็นไร พวกเขาจะได้รับการแก้ไขในภายหลัง
ขั้นตอนที่ 3: สร้าง Kicker/base Case ของคุณ
วิธีการแบบเรียกซ้ำต้องใช้ตัวเตะ/ตัวพิมพ์พื้นฐาน นี่เป็นเงื่อนไขที่จะหยุดวิธีการของคุณจากการเรียกตัวเองอย่างไม่สิ้นสุด กรณีฐานนี้ถือได้ว่าเป็นกรณีที่ง่ายที่สุดที่เราจะพบ ในกรณีนี้ กรณีฐานจะเป็นเมื่อเราอยู่ที่ส่วนท้ายของอาร์เรย์ของเรา หากดัชนีปัจจุบันเท่ากับความยาวของอาร์เรย์ (ลบ 1 เนื่องจากอาร์เรย์เริ่มนับจาก 0 ไม่ใช่ 1) เราอยู่ที่จุดสิ้นสุดและเราเพียงแค่ส่งคืนองค์ประกอบนั้นที่ดัชนีนั้น
ขั้นตอนที่ 4: ขั้นตอนแบบเรียกซ้ำ
เมื่อเราได้ตัวพิมพ์พื้นฐานแล้ว ขั้นตอนต่อไปคือขั้นตอนแบบเรียกซ้ำ นี่คือที่ที่เวทมนตร์เกิดขึ้น เราได้จัดการกรณีที่ดัชนีของเราเท่ากับองค์ประกอบสุดท้ายในอาร์เรย์ของเรา จะเกิดอะไรขึ้นถ้าเราไม่ได้อยู่ที่องค์ประกอบสุดท้ายในอาร์เรย์ของเรา จะเกิดอะไรขึ้นถ้าเราสามารถบอกให้เพิ่มองค์ประกอบปัจจุบันของเราบวกกับองค์ประกอบถัดไปได้ ในที่สุดเราจะถึงจุดสิ้นสุดของอาร์เรย์ของเราและกรณีฐานของเราจะได้รับผลกระทบ
เพื่อให้บรรลุสิ่งนี้ เราเพียงแค่ส่งคืนดัชนีปัจจุบันของเราและ "เพิ่มส่วนที่เหลือ" ของอาร์เรย์
ขั้นตอนที่ 5: ทำให้ปัญหาสั้นลง
เราจะ "เพิ่มส่วนที่เหลือ" ได้อย่างไร เรามีวิธีการที่จะเพิ่มองค์ประกอบบางอย่างอยู่แล้ว วิธีการ recursiveSum() ของเรา! เราสามารถเรียกมันอีกครั้ง แต่เปลี่ยนดัชนีที่เรากำลังรวม
เราส่งผ่านในอาร์เรย์เดียวกันกับที่เรากำลังประมวลผล แต่เราส่งผ่านในดัชนีถัดไปจากดัชนีปัจจุบันของเรา เราทำได้โดยเพียงแค่เพิ่มหนึ่งรายการในดัชนีปัจจุบันของเราดังที่แสดง
ขั้นตอนที่ 6: สร้างอาร์เรย์ของจำนวนเต็ม
ตอนนี้วิธีการรวมแบบเรียกซ้ำของเราเสร็จสมบูรณ์แล้ว เราสามารถสร้างอาร์เรย์ของเราที่เราจะประมวลผลได้ อาร์เรย์นี้จะอยู่ในบล็อกวิธีการหลักของเรา
คุณสามารถสร้างขนาดของอาร์เรย์ได้นานเท่าที่คุณต้องการ ฉันได้สร้างอาร์เรย์ที่แตกต่างกันสองสามแบบโดยมีขนาดและค่าต่างกันเพื่อแสดงว่ามันใช้งานได้ไม่ใช่แค่ขนาดเดียว
ขั้นตอนที่ 7: เรียกวิธีการด้วยอาร์เรย์ของคุณ
ตอนนี้คุณสามารถเรียกวิธีการเรียกซ้ำของคุณและส่งอาร์เรย์เหล่านี้ไป ตอนนี้คุณสามารถเรียกใช้โปรแกรมของคุณ
ขั้นตอนที่ 8: พิมพ์ผลลัพธ์
ไม่มีอะไรเกิดขึ้น. ทำไม? ผลรวมแบบเรียกซ้ำส่งคืนจำนวนเต็ม แต่เรายังไม่ได้ทำอะไรกับจำนวนเต็มนี้ ทำได้แล้วแต่เราไม่เห็นผล หากต้องการดูผลลัพธ์เราเพียงแค่พิมพ์ออกมาอย่างนั้น หลังจากรันสิ่งนี้ คุณจะเห็นผลลัพธ์สำหรับแต่ละอาร์เรย์ของคุณ
ขั้นตอนที่ 9: ขอแสดงความยินดี
คุณทำฟังก์ชันแบบเรียกซ้ำเสร็จแล้ว อย่าลังเลที่จะเปลี่ยนขนาดของอาร์เรย์ของคุณ หากคุณทดสอบ คุณจะสังเกตเห็นว่ามันล่มเมื่อคุณมีอาร์เรย์ว่าง เราไม่ได้คำนึงถึงมัน แต่นั่นเป็นวิธีที่ดีในการปรับปรุงวิธีการเรียกซ้ำของคุณ
แนะนำ:
การรวม Google Photos ของ Raspberry Pi Linux Motion: 5 ขั้นตอน
การรวม Google Photos ของ Raspberry Pi Linux Motion: แนวคิดคือการอัปโหลดรูปภาพและวิดีโอที่สร้างด้วยกล้องที่เปิดใช้งานการเคลื่อนไหวที่เชื่อมต่อกับ Raspberry Pi เพื่ออัปโหลดไฟล์ไปยังระบบคลาวด์ ซอฟต์แวร์ 'Motion' รองรับการอัปโหลดไปยัง Google Drive ผ่าน PyDrive ในบทความนี้ 'Motion' ใช้สำหรับอัปโหลดไปยัง Google P
Wifi ควบคุม 12v Led Strip โดยใช้ Raspberry Pi พร้อม Tasker, การรวม Ifttt: 15 ขั้นตอน (พร้อมรูปภาพ)
Wifi ที่ควบคุม 12v Led Strip โดยใช้ Raspberry Pi พร้อม Tasker, Ifttt Integration: ในโครงการนี้ ฉันจะแสดงวิธีควบคุมแถบ LED แบบอะนาล็อก 12v อย่างง่ายผ่าน wifi โดยใช้ raspberry pi สำหรับโครงการนี้ คุณจะต้อง: 1x Raspberry Pi (I) กำลังใช้ Raspberry Pi 1 Model B+) 1x RGB 12v Le
การรวม Arduino และ Apple HomeKit - ควบคุมบ้านของคุณจาก Siri! IoT มาแล้ว: 6 ขั้นตอน
การรวม Arduino และ Apple HomeKit - ควบคุมบ้านของคุณจาก Siri! IoT อยู่ที่นี่: คำแนะนำนี้จะช่วยให้คุณเพิ่มบอร์ด Arduino ลงใน HomeKit ของ Apple บนอุปกรณ์ iOS ได้อย่างรวดเร็วและง่ายดาย มันเปิดโอกาสทุกประเภทรวมถึงสคริปต์ที่ทำงานบนเซิร์ฟเวอร์ รวมกับ Apples HomeKit "ฉาก" มันทำให้
การรวม Arduino Uno และ ESP8266 อย่างง่าย: 6 ขั้นตอน
การรวม Arduino Uno และ ESP8266 อย่างง่าย: เป้าหมายของเราคือการสร้างไลบรารีคำสั่ง Esp8266 AT (ตามไลบรารี ITEAD) ซึ่งจะทำงานได้ดีกับซอฟต์แวร์ซีเรียลบนอุปกรณ์ ESP8266 ส่วนใหญ่ โดยมีเฟิร์มแวร์ที่ตอบสนองต่อคำสั่ง AT (ซึ่งโดยปกติ ค่าเริ่มต้นของผู้ผลิต)
การรวม MQTT: 4 ขั้นตอน
การรวม MQTT: โพสต์ Facebook ของเรา: https://www.facebook.com/IoTGuruLive/videos/359772791497906