Sprint 7 - Challenge 1
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez par répartir les types PCComponent requis, les implémentations de PCComponentFactory, le constructeur de PC et le menu de la console dans des classes distinctes. Vérifiez chaque élément de la spécification, notamment les choix de composants, les factories thématiques, la personnalisation, la tarification, les spécifications, le délai de livraison et les exigences du PR de soumission ; le travail est considéré comme terminé lorsque l’application complète prend en charge toutes les options de menu répertoriées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Aucune donnée de langage
- Étoiles
- 1
- Forks
- 11
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CodeYourFuture/Module-Java
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Sprint 7 - Sprint Challenge 2 Ouverte🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 7 Core
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
-
Sprint 6 Challenge Ouverte🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 📅 Sprint 6 🦑 Size Large Core
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 5 Core
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Toutes les issues de CodeYourFuture/Module-Java
Issues similaires
-
enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
QuantStack/git2cpp#187 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
microsoft/navcontainerhelper#4217 ·
-
area/config comp/agent P2 type/bug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
NousResearch/hermes-agent#118807 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
BasedHardware/omi#15662 · 1 commentaire ·