คุณรู้วิธีใช้ Java Stream API หรือไม่?
ใช้ความรู้เกี่ยวกับ สตรีม แลมบ์ดาส จัดการวิธีการ และสิ่งอื่น ๆ ที่ใช้งานได้
นอกจากนี้ยังมีงานบางอย่างที่จะทำให้คิดว่าแม้กระทั่งโปรแกรมเมอร์ที่มีประสบการณ์ พยายามแก้ปัญหาทั้งหมด
ตอนนี้มีงาน 25 งาน
ที่เก็บโคลน→ใช้วิธีการ→เรียกใช้การทดสอบ→แก้ไขข้อผิดพลาด
วิธีการที่จะนำไปใช้จะถูกวางไว้ในงานคลาส tasks.StreamTasks ในโฟลเดอร์ src ในขั้นต้นพวกเขาจะถูก stubbed ด้วย UnsupportedOperationException มาตรฐาน (และการทดสอบรู้เกี่ยวกับสิ่งนั้น) คุณต้องเปลี่ยนบรรทัดดังกล่าวด้วยโซลูชันประกอบด้วยการไหลของสตรีมหรือสิ่งที่เกี่ยวข้องกับมัน (คำอธิบายและคำแนะนำสำหรับแต่ละงานมีให้)
มันเป็น สิ่งต้องห้าม ใช้วัฏจักรมาตรฐาน ( for while do-while ที่เรียกซ้ำ) เลยและเงื่อนไข ( if if-else , ... ) ออกจากการดำเนินการสตรีม เป้าหมายหลักของโครงการนี้คือการสอนวิธีใช้วิธีการใช้งานในทางปฏิบัติ การยกเว้นหนึ่งที่เป็นไปได้ จากกระบวนทัศน์การทำงานที่บริสุทธิ์คือการประกาศและการใช้ตัวแปรท้องถิ่น
เนื่องจากโครงการนี้มุ่งเน้นไปที่ผู้เริ่มต้น จึงไม่จำเป็นต้องมีห้องสมุดขึ้นอยู่กับ หากคุณรู้วิธีเพิ่มการพึ่งพาและรู้ว่าคุณสามารถทำอะไรได้ด้วยตนเอง (แต่จะชี้ไปงานทั้งหมดสามารถแก้ไขได้โดยใช้ห้องสมุด Java มาตรฐานเท่านั้น)
ข้อกำหนดหลักคือ JVM ของ 11 เวอร์ชัน (หรือสูงกว่า)
เรียกใช้วิธีหลักจาก tasks.StreamTasksMain คลาสใน IDE ที่คุณต้องการหรือเรียกใช้ test.(cmd|sh)
FLAG -ea จำเป็นต้องเปิดใช้ assert คำสำคัญสำหรับการทดสอบคำตรวจสอบ มิฉะนั้นการทดสอบทั้งหมดจะไม่ทำงานอย่างถูกต้อง
โปรแกรมตรวจสอบจะเรียกใช้การทดสอบสำหรับงานทั้งหมดจากนั้นเขียนคำตัดสินสำหรับแต่ละงาน
คำตัดสินที่เป็นไปได้:
null จนกว่าคุณจะแก้ไขงานทั้งหมดด้วยคำตัดสิน accepted โปรแกรมจะเสร็จสิ้นด้วยรหัสทางออกที่ไม่เป็นศูนย์
คุณสามารถเรียกใช้โปรแกรมตรวจสอบด้วย example อาร์กิวเมนต์ สำหรับการเพิ่ม example คำไปยังอาร์กิวเมนต์ที่ส่งผ่านใน IDE หรือในตอนท้ายของการเรียกใช้สคริปต์: test.cmd example (สำหรับ windows) และ ./test.sh example (สำหรับ unix)
มีงานบางอย่างที่นำไปใช้ใน tasks.StreamTasksExample คลาส StreamTasksexample ดังนั้นพวกเขาจะได้รับการทดสอบในโหมด example
ไม่รับประกันว่าการใช้งานนั้นถูกต้องหรือเหมาะสมที่สุด;)
ในกรณีที่คุณไม่ทราบวิธีการแก้ปัญหาบางอย่างมากกว่าที่คุณจะเห็นโซลูชันใน tasks.solution.StreamTasksSolution คลาสในโฟลเดอร์ src คลาสนี้ใช้เป็นโซลูชันอ้างอิงเพื่อตรวจสอบคำตอบดังนั้นคุณสามารถคัดลอกรหัสพาสไปยังงานและงานนี้จะได้รับการยอมรับ
พยายามหลีกเลี่ยงการมีปฏิสัมพันธ์กับโซลูชันจนกว่าคุณจะเสร็จสิ้นงานทั้งหมด :)
คุณยังสามารถใช้งานจากโครงการนี้เพื่อความท้าทายที่แตกต่างกัน ตัวอย่างเช่นคุณสามารถตรวจสอบจำนวนงานที่คุณสามารถทำได้ใน เวลา จำกัด หรือเวลาที่คุณต้องใช้ใน การแก้ปัญหาทั้งหมด ฯลฯ
เวอร์ชัน 0.1.0 มีอยู่ที่นี่
แผนการในอนาคต:
[ ] เพิ่มจำนวนงานเป็น 100[~] เพิ่มเครื่องกำเนิดไฟฟ้าอินพุตเพิ่มเติมเพื่อทดสอบเอ็นจิ้น[✓] สำหรับ Map <?, ?> พิมพ์[✓] สำหรับ List <List <?>> ประเภท (และระดับตู้ใด ๆ )[ ] อื่น[ ] เพิ่มความแปรปรวนของอินพุตเพิ่มเติมเพื่อทดสอบเอ็นจิ้น (FE Collection เป็นส่วนขยายของพารามิเตอร์อื่นที่เป็นคอลเลกชันด้วย)[~] สามารถใช้ความคิดงานใหม่ ๆ[ ] งานแยกไปหลายชั้นเรียนตามหัวข้อ