Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mrasadatik/academic.cse110.assignment02

Java project implementing various object-oriented programming concepts through a menu-driven interface.
https://github.com/mrasadatik/academic.cse110.assignment02

calender count-letters count-occurrence linear-algebra-equation-2-2 matrix-maximus-location n-matrix-0-1 palindrome-number password-validator stock stopwatch

Last synced: 6 days ago
JSON representation

Java project implementing various object-oriented programming concepts through a menu-driven interface.

Awesome Lists containing this project

README

        

## CSE110: Object Oriented Programming - Assignment 2

This repository contains the Java code for all the tasks included in **Assignment 2** of the **CSE110: Object Oriented Programming** course at **EAST WEST UNIVERSITY**.

### Assignment Overview

The objective of this assignment is to enhance problem-solving skills related to object-oriented programming concepts. The tasks involve creating methods, method overloading, class and object creation, constructor usage, access modifiers, instance and static methods, and more.

**Tasks Checklist**

- **✅ 1. Palindrome Integer ([T01_Palindrome.java](/app/src/main/java/academic/cse110/assignment02/tasks/T01_Palindrome.java))**
- **✅ 2. Display Matrix of 0s and 1s ([T02_Matrix.java](/app/src/main/java/academic/cse110/assignment02/tasks/T02_Matrix.java))**
- **✅ 3. Check Password ([T03_Password.java](/app/src/main/java/academic/cse110/assignment02/tasks/T03_Password.java))**
- **✅ 4. Count the Letters in a String ([T04_CountLetters.java](/app/src/main/java/academic/cse110/assignment02/tasks/T04_CountLetters.java))**
- **✅ 5. Occurrences of a Specified Character ([T05_CountChar.java](/app/src/main/java/academic/cse110/assignment02/tasks/T05_CountChar.java))**
- **✅ 6. Stock Class ([T06_Stock.java](/app/src/main/java/academic/cse110/assignment02/tasks/T06_Stock.java))**
- **✅ 7. Use the GregorianCalendar Class ([T07_CalendarTest.java](/app/src/main/java/academic/cse110/assignment02/tasks/T07_CalendarTest.java))**
- **✅ 8. Stopwatch ([T08_StopWatch.java](/app/src/main/java/academic/cse110/assignment02/tasks/T08_StopWatch.java))**
- **✅ 9. Algebra: 2 * 2 Linear Equations ([T09_LinearEquation.java](/app/src/main/java/academic/cse110/assignment02/tasks/T09_LinearEquation.java))**
- **✅ 10. The Location Class ([T10_Location.java](/app/src/main/java/academic/cse110/assignment02/tasks/T10_Location.java))**

**Menu-Driven Approach**

This project utilizes a menu-driven approach for user interaction and task execution. The **[`App` class's](/app/src/main/java/academic/cse110/assignment02/App.java#L6) [`main` method](/app/src/main/java/academic/cse110/assignment02/App.java#L7)** serves as the **entry point** of the program and implements the following functionalities:

1. **Display a menu** listing all available tasks.
2. **Allow users to select a task** by entering the corresponding number.
3. **Execute the chosen task** based on the user's selection.
4. **Provide clear instructions and prompts** within each task.

This approach enhances the user experience and simplifies the interaction with the various functionalities implemented in the assignment.

**Complete Code Documentation**

For the complete and formatted code of all implemented functionalities, please refer to the **"[assignment02-solutions](app/src/main/resources/assignment02-solutions.pdf)"** PDF.

**Accessible Problems**

Detailed descriptions of the problems are available in the **"[assignment02-problems](app/src/main/resources/assignment02-problems.pdf)"** PDF.

### Author

* [Md Asaduzzaman Atik](https://www.github.com/mrasadatik)

### Instructor
* [Ahmed Abdal Shafi Rasel](http://fse.ewubd.edu/computer-science-engineering/faculty-view/ahmed.shafi), Lecturer, Department of CSE, [East West University](https://www.ewubd.edu)

### Tools and Technologies
* **IDE:** [Apcahe NetBeans IDE 21](https://netbeans.apache.org/front/main/index.html)
* **Build Tool:** [Gradle](https://gradle.org/)@8.6
* **Programming Language:** [Java](https://www.oracle.com/java/)@21
* **Documentation:** [Gemini](https://gemini.google.com), [ChatGPT](https://chat.openai.com)

### Contributing

We welcome contributions to this project! Feel free to fork the repository and submit pull requests with your improvements.

### License

This project is licensed under the MIT License. See the [`LICENSE`](/LICENSE) file for details.

### Disclaimer

**Please note:** This project currently does not have any automated or unit test implementation. While the program functions as intended, future development efforts might include the addition of testing frameworks for improved code reliability and maintainability.