Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tasklist;
- import java.util.*;
- public class Task
- {
- private String name;
- private int priority;
- public Task()
- {
- this.name = "none";
- this.priority = 1;
- }
- public Task(String name, int priority)
- {
- if(name.length() > 35){
- name = name.substring(0, 35);
- }
- if(priority < 1 || priority > 5){
- priority = 1;
- }
- this.name = name;
- this.priority = priority;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getPriority() {
- return priority;
- }
- public void setPriority(int priority)
- {
- this.priority = priority;
- }
- @Override
- public String toString()
- {
- return "Task{" + "name = " + name + ", priority = " + priority + '}';
- }
- @Override
- public boolean equals(Object obj)
- {
- if (this == obj)
- {
- return true;
- }
- if (obj == null)
- {
- return false;
- }
- if (getClass() != obj.getClass())
- {
- return false;
- }
- final Task other = (Task) obj;
- if (this.priority != other.priority)
- {
- return false;
- }
- if (!Objects.equals(this.name, other.name))
- {
- return false;
- }
- return true;
- }
- }
- package tasklist;
- import java.util.Scanner;
- public class TaskDriver {
- public static void main(String[] args){
- TaskList list = new TaskList();
- Scanner input = new Scanner(System.in);
- int choice = 0;
- do{
- System.out.println("Press n1. Print the task listn2. Print the number of tasksn3. Add a taskn4. Remove a taskn5. Print the next task to be donen6. Sort the tasks by priorityn7. Change the priority scalen8. Quit");
- System.out.println("Enter choice: ");
- choice = input.nextInt();
- switch (choice) {
- case 1:
- System.out.println("Task list is: ");
- System.out.println(list.toString());
- break;
- case 2:
- System.out.println(list.getCount());
- break;
- case 3:
- System.out.println("Enter task name: ");
- String name = input.next();
- System.out.println("Enter task priority (1-5): ");
- int priority = input.nextInt();
- Task t = new Task(name,priority);
- list.addTask(t);
- System.out.println("Task added successfully!");
- break;
- case 4:
- {
- System.out.println("Here is the list of tasks:");
- System.out.println(list.toString());
- System.out.println("Enter number of task to delete:");
- int index = input.nextInt();
- list.deleteTask(index);
- break;
- }
- case 5:
- System.out.println(list.next().toString());
- break;
- case 6:
- System.out.println(list.printTasks(list.sort()));
- break;
- case 7:
- {
- System.out.println("Enter 1 to make 1 highest priority anything else will make 5 highest priority:");
- int index = input.nextInt();
- if(index == 1){
- list.setOrder(true);
- }else{
- list.setOrder(false);
- } break;
- }
- case 8:
- System.exit(0);
- default:
- System.out.println("Invalid choice, try again");
- break;
- }
- }while(choice != 8);
- }
- }
- package tasklist;
- import java.util.Arrays;
- public class TaskList{
- public final int max = 20;
- private Task[] list = new Task[max];
- private int count;
- private boolean order;
- public TaskList() {
- this.count = 0;
- this.order = true;
- }
- public TaskList(Task[] list) {
- this.list = list;
- }
- public int getCount() {
- return count;
- }
- public boolean isOrder() {
- return order;
- }
- public void setOrder(boolean order) {
- this.order = order;
- }
- public void addTask(Task t){
- list[count] = t;
- count++;
- }
- public void deleteTask(int index){
- index--;
- Task[] temp = new Task[max];
- int k = 0;
- for(int i = 0; i < list.length; i++){
- if( i == index){
- continue;
- }
- temp[k++] = list[i];
- }
- list = temp;
- count--;
- }
- public Task[] sort(){
- Task[] temp = new Task[count];
- for(int i = 0; i < count; i++){
- temp[i] = list[i];
- }
- if(order){
- Arrays.sort(temp, (Task t1, Task t2) -> t1.getPriority() - t2.getPriority());
- }else{
- Arrays.sort(temp, (Task t1, Task t2) -> t2.getPriority() - t1.getPriority());
- }
- return temp;
- }
- public Task next(){
- if(count == 0){
- return null;
- }
- else{
- Task[] temp;
- temp = sort();
- return temp[1];
- }
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final TaskList other = (TaskList) obj;
- if (!Arrays.deepEquals(this.list, other.list)) {
- return false;
- }
- return true;
- }
- @Override
- public String toString() {
- String data = "";
- for(int i = 0; i < count; i++){
- data = data+ (i+1) + "- " + list[i].getName() + ", " + Integer.toString(list[i].getPriority());
- data = data + "n";
- }
- return data;
- }
- public String printTasks(Task[] list){
- String data = "";
- for(int i = 0; i < count; i++){
- data = data+ (i+1) + "- " + list[i].getName() + ", " + Integer.toString(list[i].getPriority());
- data = data + "n";
- }
- return data;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement