Java

 

Introduction

The Task Reminder Application in Java is a simple yet effective tool for managing tasks and setting reminders. The program allows users to create, view, and delete tasks, and it provides a notification when a task is due. This is an excellent project for beginners to get hands-on experience with basic Java programming concepts like arrays, loops, and date/time handling.

Objective

The objective of this project is to develop a task reminder application using Java. It will enable users to:

  • Set tasks with due dates.
  • View the list of tasks and their statuses.
  • Delete completed tasks.
  • Set reminders for tasks and get notified when the task is due.

Java Code for Task Reminder Application

import java.util.ArrayList;
import java.util.Scanner;
import java.util.Date;
import java.text.SimpleDateFormat;

class Task {
    String taskName;
    String dueDate;
    
    public Task(String taskName, String dueDate) {
        this.taskName = taskName;
        this.dueDate = dueDate;
    }
    
    @Override
    public String toString() {
        return "Task: " + taskName + ", Due Date: " + dueDate;
    }
}

public class TaskReminderApp {
    private static ArrayList taskList = new ArrayList<>();
    private static Scanner scanner = new Scanner(System.in);
    
    public static void main(String[] args) {
        while (true) {
            displayMenu();
            int choice = scanner.nextInt();
            scanner.nextLine();  // consume the newline
            switch (choice) {
                case 1:
                    addTask();
                    break;
                case 2:
                    viewTasks();
                    break;
                case 3:
                    deleteTask();
                    break;
                case 4:
                    checkReminder();
                    break;
                case 5:
                    System.out.println("Exiting the Task Reminder application. Goodbye!");
                    return;
                default:
                    System.out.println("Invalid option, please try again.");
            }
        }
    }
    
    public static void displayMenu() {
        System.out.println("\nTask Reminder Application Menu");
        System.out.println("1. Add a Task");
        System.out.println("2. View Tasks");
        System.out.println("3. Delete a Task");
        System.out.println("4. Check Reminders");
        System.out.println("5. Exit");
        System.out.print("Choose an option: ");
    }
    
    public static void addTask() {
        System.out.print("Enter task name: ");
        String taskName = scanner.nextLine();
        System.out.print("Enter due date (yyyy-MM-dd): ");
        String dueDate = scanner.nextLine();
        taskList.add(new Task(taskName, dueDate));
        System.out.println("Task added successfully!");
    }
    
    public static void viewTasks() {
        if (taskList.isEmpty()) {
            System.out.println("No tasks available.");
        } else {
            System.out.println("\nCurrent Tasks:");
            for (Task task : taskList) {
                System.out.println(task);
            }
        }
    }
    
    public static void deleteTask() {
        System.out.print("Enter task name to delete: ");
        String taskName = scanner.nextLine();
        boolean taskFound = false;
        for (Task task : taskList) {
            if (task.taskName.equalsIgnoreCase(taskName)) {
                taskList.remove(task);
                System.out.println("Task deleted successfully!");
                taskFound = true;
                break;
            }
        }
        if (!taskFound) {
            System.out.println("Task not found.");
        }
    }
    
    public static void checkReminder() {
        String currentDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
        boolean reminderFound = false;
        for (Task task : taskList) {
            if (task.dueDate.equals(currentDate)) {
                System.out.println("Reminder: " + task);
                reminderFound = true;
            }
        }
        if (!reminderFound) {
            System.out.println("No tasks are due today.");
        }
    }
}

Explanation of the Program Structure

The program has a simple structure consisting of the following parts:

  • Task Class: This represents a task with two attributes: the task’s name and its due date.
  • TaskReminderApp Class: This is the main class where the application logic resides. It contains methods to display the menu, add tasks, view tasks, delete tasks, and check for reminders.
  • Scanner: It is used to take user input from the console.
  • ArrayList: It stores the list of tasks created by the user.
  • SimpleDateFormat: It is used to format the current date and compare it with the task due dates.

How to Run the Program

Follow these steps to run the Task Reminder application:

    1. Install Java Development Kit (JDK) on your system if it’s not already installed.
    2. Save the code in a file named TaskReminderApp.java.
    3. Open a terminal or command prompt, navigate to the directory containing the file, and compile the program by running the following command:
javac TaskReminderApp.java
    1. Run the program with the following command:
java TaskReminderApp
  1. The program will start, and you can interact with the menu to manage tasks and set reminders.
© 2025 Learn Programming. All rights reserved.

 

By Aditya Bhuyan

I work as a cloud specialist. In addition to being an architect and SRE specialist, I work as a cloud engineer and developer. I have assisted my clients in converting their antiquated programmes into contemporary microservices that operate on various cloud computing platforms such as AWS, GCP, Azure, or VMware Tanzu, as well as orchestration systems such as Docker Swarm or Kubernetes. For over twenty years, I have been employed in the IT sector as a Java developer, J2EE architect, scrum master, and instructor. I write about Cloud Native and Cloud often. Bangalore, India is where my family and I call home. I maintain my physical and mental fitness by doing a lot of yoga and meditation.

Leave a Reply

Your email address will not be published. Required fields are marked *

error

Enjoy this blog? Please spread the word :)