Sprint 7 - Challenge 1
還沒有人認領這個 Issue。
評估
研究方向
首先,將所需的 PCComponent 類型、PCComponentFactory 實作、PC 建構器和主控台選單分別對應到獨立的類別。檢查每一項規格要求,包括元件選擇、主題工廠、自訂、定價、規格、交付時間以及提交 PR 的要求;完成表示完整應用程式支援列出的每個選單選項。
由索引模型根據 Issue 內容生成。
描述
Sprint Challenge 1
Overview
The code you write for this challenge is mandatory homework and should be completed and sent in a PR for review before class.
Build a computer store application that allows customers to configure and purchase custom computers.
Specification
Java application with a console-based menu system:
-
User options:
- Build Custom PC (choose components manually)
- Select processor (budget/performance/enthusiast)
- Select graphics card (integrated/gaming/professional)
- Select memory (8GB/16GB/32GB)
- Select storage (HDD/SSD/NVMe)
- Customize options (case color, warranty, RGB)
- Quick Build - Budget PC
- Use appropriate factory
- Quick Build - Gaming PC
- Use appropriate factory
- Quick Build - Workstation PC
- Use appropriate factory
- View Available Components
- Exit
- Build Custom PC (choose components manually)
-
After building, display:
- Complete specifications
- Total price
- Estimated delivery time
Developer Guidance
- Create a PCComponent interface with methods:
String getName()double getPrice()String getSpecifications()ComponentType getType()(enum: PROCESSOR, GRAPHICS_CARD, MEMORY, STORAGE)- Create implementations: Processor, GraphicsCard, Memory, Storage
- With static factory methods for:
- Processor:
budget(),midRange(),performance() - GraphicsCard:
integrated(),gaming(),professional() - Memory:
standard8GB(),standard16GB(),performance32GB() - Storage:
hdd1TB(),ssd512GB(),nvme1TB()
- Processor:
- Create an abstract factory interface for creating complete component families - each factory should coordinate components that work well together for their purpose
interface PCComponentFactoryProcessor createProcessor()GraphicsCard createGraphicsCard()Memory createMemory()Storage createStorage()String getThemeName()String getDescription()
- Implement three themed factories:
BudgetPCFactory(£500-700)- Budget processor
- Integrated graphics
- 8GB memory
- HDD storage
GamingPCFactory(£1200-1500)- Performance processor
- Gaming graphics card
- 16GB memory
- NVMe storage
WorkstationPCFactory(£2000-2500)- Enthusiast processor
- Professional graphics card
- 32GB memory
- NVMe storage
- Create a PC class that uses a builder pattern to create instances,
- with fields:
- Processor (required)
- Graphics Card (required)
- Memory (required)
- Storage (required)
- Case colour (optional, default: "Black")
- Warranty years (optional, default: 1)
- And methods:
double getTotalPrice(sums price of components)String getDetailedSpecs(returns a nicely formatted string of the component parts → you can also just use an overridden toString here if preferred)
- with fields:
Submission & Review
Fork the coursework repo to your own GitHub account.
Make regular small commits with clear messages.
When you are ready, open a Pull Request to the CYF repo. Make sure you fill in the PR template provided.
A volunteer will review your submission and send you feedback.
- 主要語言
- 沒有語言資料
- 星號
- 1
- 分支
- 11
- PR 合併指標
- 30 天內沒有已合併 PR
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
CodeYourFuture/Module-Java 的其他 Issue
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core
難度 1/5 1 小時以內 新手友好度 85/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core
難度 1/5 1 小時以內 新手友好度 85/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 7 Core
難度 5/5 一週以上 新手友好度 35/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 📅 Sprint 6 🦑 Size Large Core
難度 5/5 一週以上 新手友好度 25/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 5 Core
難度 4/5 3-5 天 新手友好度 45/100
查看 CodeYourFuture/Module-Java 的全部 Issue
相似的 Issue
-
難度 1/5 1 小時以內 新手友好度 85/100
-
難度 2/5 1-3 小時 新手友好度 75/100
elastic/gradle-plugins#156 ·
-
難度 2/5 1-3 小時 新手友好度 70/100
Fission-AI/OpenSpec#1960 ·
-
area/config comp/tools P2 type/bug
難度 2/5 1-3 小時 新手友好度 70/100
NousResearch/hermes-agent#119942 ·
-
難度 2/5 1-3 小時 新手友好度 75/100