Ajout du Gestionnaire de Tâches en Java

This commit is contained in:
2025-05-24 12:06:20 +02:00
commit 19abaeff85
4 changed files with 133 additions and 0 deletions

BIN
TaskManagerCLI/Task.class Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,133 @@
import java.io.*;
import java.util.*;
// Classe interne, non publique
class Task implements Serializable {
private static final long serialVersionUID = 1L;
private String description;
private boolean done;
public Task(String description) {
this.description = description;
this.done = false;
}
public void markDone() {
this.done = true;
}
public boolean isDone() {
return done;
}
public String getDescription() {
return description;
}
@Override
public String toString() {
return (done ? "[X] " : "[ ] ") + description;
}
}
// Classe principale, publique
public class TaskManager {
private static final String FILE_NAME = "tasks.dat";
private List<Task> tasks;
public TaskManager() {
tasks = loadTasks();
}
public void addTask(String description) {
tasks.add(new Task(description));
saveTasks();
}
public void listTasks() {
if (tasks.isEmpty()) {
System.out.println("Aucune tâche.");
return;
}
for (int i = 0; i < tasks.size(); i++) {
System.out.println((i + 1) + ". " + tasks.get(i));
}
}
public void markTaskDone(int index) {
if (index >= 1 && index <= tasks.size()) {
tasks.get(index - 1).markDone();
saveTasks();
} else {
System.out.println("Index invalide.");
}
}
public void deleteTask(int index) {
if (index >= 1 && index <= tasks.size()) {
tasks.remove(index - 1);
saveTasks();
} else {
System.out.println("Index invalide.");
}
}
private void saveTasks() {
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(FILE_NAME))) {
out.writeObject(tasks);
} catch (IOException e) {
System.out.println("Erreur lors de la sauvegarde des tâches.");
}
}
@SuppressWarnings("unchecked")
private List<Task> loadTasks() {
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(FILE_NAME))) {
return (List<Task>) in.readObject();
} catch (IOException | ClassNotFoundException e) {
return new ArrayList<>();
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
TaskManager manager = new TaskManager();
System.out.println("=== Gestionnaire de Tâches ===");
while (true) {
System.out.println("\n1. Ajouter une tâche");
System.out.println("2. Marquer une tâche comme terminée");
System.out.println("3. Supprimer une tâche");
System.out.println("4. Lister les tâches");
System.out.println("5. Quitter");
System.out.print("Choix: ");
String choice = scanner.nextLine();
switch (choice) {
case "1":
System.out.print("Description de la tâche: ");
String desc = scanner.nextLine();
manager.addTask(desc);
break;
case "2":
manager.listTasks();
System.out.print("Numéro de la tâche à marquer comme terminée: ");
manager.markTaskDone(Integer.parseInt(scanner.nextLine()));
break;
case "3":
manager.listTasks();
System.out.print("Numéro de la tâche à supprimer: ");
manager.deleteTask(Integer.parseInt(scanner.nextLine()));
break;
case "4":
manager.listTasks();
break;
case "5":
System.out.println("Au revoir !");
return;
default:
System.out.println("Choix invalide.");
}
}
}
}

BIN
TaskManagerCLI/tasks.dat Normal file

Binary file not shown.