Question
Create object-oriented program of medium complexity for the tracking of macro-nutrients and calories for people with health/fitness goals. It should be a GUI program comprised
Create object-oriented program of medium complexity for the tracking of macro-nutrients and calories for people with health/fitness goals.
It should be a GUI program comprised of multiple elements; for instance, it must implement a GUI of reasonable complexity, use a dynamic data structure like ArrayList, and use file input and/or output (further details below in "General Requirements").
For the GUI portion of the program, you will use the JavaFX platform. You can design the GUI graphically with Scene Builder or implement it dynamically in code.
General Requirements
- GUI Portion:The project will consist of at least 2 GUI windows or dialogs (minimum 5). In JavaFX this means at least 2 stages, where each stage has its own separate FXML file and controller class. Error messages or simple confirmation dialogs don't count.
- Non-GUI Portion:Minimum 3 - so minimum 3 back-end (data management) classes, not counting GUI classes or controller classes.
- File I/O:Either file input, output, or both. For example, a program that manages information about customers of a business could store the customer information in a file and then re-load the file next time your run the program.
- Data structures:ArrayList (dynamic array) For example a multi-player game could use an ArrayList of Player objects to store information about all the players. Often (but not always) you may use a dynamic data structure like ArrayList to store information you read from a file. Don't use regular Java arrays.
- Exception Handling: For full marks your project should contain enough exception handling and error recovery so that bad user input (or bad input files etc.) don't crash the program. You should display a user-friendly error message instead.
- Commenting:The code shall be commented as follows.
- Each Java class shall have a header comment which lists the principal author(s) of the code and briefly describes what the code in the file is for
- Each method and field shall be commented. For methods include the purpose of method and a brief description of each parameter. For fields give the purpose of the field and units if applicable (e.g. length in meters, price in dollars).
- Code inside methods shall be commented as needed (e.g. tricky steps) using non-Javadoc style comments.
- FXML files do not need to be commented.
- Coding standards and quality:All code shall follow our coding standards. Variable names should be descriptive. Classes should be well designed and well structured, with use of object-oriented techniques such as encapsulation, inheritance, abstract classes, and interfaces where appropriate. Programs should not use repetitive code and should use field variables only where necessary. Programs should not define variables or methods that are never used; logic should be written concisely and not cluttered with unnecessary code.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started