-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTaskList.java
87 lines (74 loc) · 2.45 KB
/
TaskList.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Class to handle the List of task objects
*
*/
package com.anthonyaragon.finalproject;
import java.util.ArrayList;
public class TaskList extends Task{
static ArrayList<Task> taskList = new ArrayList<Task>(); // Creates an ArrayList for Task objects
static int taskTotal;
static int pageNumber = 1;
final static int TASKPERPAGE = 5; // Limits number of tasks per screen
static int numberOfMaxTask = Math.min(pageNumber * TASKPERPAGE, taskTotal); //
static int numberOfInitialTask = numberOfMaxTask - (TASKPERPAGE - 1);
// Adds tasks to list
public static void addTaskToList(String taskText) {
taskList.add(new Task(taskText));
taskTotal++;
}
// Removes task from list
public static void removeTask(int taskToRemove) {
taskList.remove(taskToRemove-1);
taskTotal--;
}
// Toggles tasks as completed or not
public static void toggleComplete(int taskNumber) {
Boolean complete = Task.getComplete(taskList.get(taskNumber-1));
if (complete == false) {
taskList.get(taskNumber-1).setComplete(true);
} else {
taskList.get(taskNumber-1).setComplete(false);
}
}
// Displays List of Tasks
public static void showTaskList() {
int numberOfMaxTask = Math.min(pageNumber * TASKPERPAGE, taskTotal); //
int numberOfInitialTask = pageNumber*TASKPERPAGE-(TASKPERPAGE-1);
if (taskTotal == 0) {
System.out.println("Task List is Empty");
} else {
for (int i = numberOfInitialTask; i <= numberOfMaxTask; i++) {
if (Task.getComplete(taskList.get(i-1))) {
System.out.println(i + ". " + Task.getTask(taskList.get(i-1)) + "\t (COMPLETED)");
} else {
System.out.println(i + ". " + Task.getTask(taskList.get(i-1)));
}
}
}
System.out.println();
System.out.println("[" + numberOfInitialTask + "-" + numberOfMaxTask + " of " + taskTotal +"] Enter b to go back, f to go forward");
System.out.println();
}
public static void goNextPage() {
if (taskTotal % TASKPERPAGE == 0) {
if (pageNumber < (taskTotal / TASKPERPAGE) ) {
pageNumber++;
} else {
System.out.println("can't go forward one page");
}
} else {
if (pageNumber < (taskTotal / TASKPERPAGE + 1) ) {
pageNumber++;
} else {
System.out.println("can't go forward one page");
}
}
}
public static void goPreviousPage() {
if (pageNumber > 1) {
pageNumber--;
} else {
System.out.println("can't go back one page");
}
}
}