Skip to content

A menu-driven Java program to generate multiplication tables with custom ranges, store history, and handle invalid inputs using OOP principles.

Notifications You must be signed in to change notification settings

yogeshkumarsaini/Multiplication-Table-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“˜ Multiplication Table Generator

A menu-driven, Object-Oriented Multiplication Table Generator built using Java.
This project allows users to generate multiplication tables with custom ranges, view history of generated tables, and handles invalid inputs gracefully.

Perfect for Java beginners to practice OOP, collections, loops, and exception handling.


✨ Features

  • πŸ”’ Generate multiplication tables for any number
  • πŸ“Š Custom range support (e.g., 1–10, 1–20, or any user-defined range)
  • πŸ“œ Stores table history using List
  • 🧱 Fully Object-Oriented design
  • 🧭 Menu-driven console interface
  • 🚫 Exception handling for invalid inputs
  • β™» Generate multiple tables in one run

🧱 Project Structure

MultiplicationTableGenerator/
β”‚
β”œβ”€β”€ MultiplicationTable.java // Model class
β”œβ”€β”€ TableService.java // Business logic & history
β”œβ”€β”€ MainApp.java // Menu-driven UI
└── README.md

πŸ› οΈ Technologies Used

  • Java (Core)
  • OOP Concepts
  • Java Collections (List, ArrayList)
  • Exception Handling
  • Console-based UI

▢️ How to Run

  1. Clone the repository:
    git clone https://github.com/yogeshkumarsaini/multiplication-table-generator.git
  2. Compile the program:
    javac MainApp.java
  3. Run the program:
    java MainApp
    

πŸ“‹ Menu Options

1. Generate Table
2. View History
3. Exit

🧠 Concepts Practiced

  • Classes & Objects
  • Encapsulation
  • Separation of concerns
  • Loops (for, while)
  • Conditional statements
  • Exception handling (try-catch) -User input using Scanner

About

A menu-driven Java program to generate multiplication tables with custom ranges, store history, and handle invalid inputs using OOP principles.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages