Question

In: Computer Science

NEed UML diagram for this java code: import java.util.ArrayList; import java.util.Scanner; class ToDoList { private ArrayList<Task>...

NEed UML diagram for this java code:

import java.util.ArrayList;
import java.util.Scanner;

class ToDoList {
    private ArrayList<Task> list;//make private array

    public ToDoList() {
//this keyword refers to the current object in a method or constructor
        this.list = new ArrayList<>();
    }

    public Task[] getSortedList() {
        Task[] sortedList = new Task[this.list.size()];//.size: gives he number of elements contained in the array
        //fills array with given values by using a for loop
        for (int i = 0; i < this.list.size(); i++) {
            sortedList[i] = this.list.get(i);
        }
        //sorting values in array using bubble sort
        Task temp;//temp var to hold sorted values
        for (int i = 0; i < sortedList.length; i++) {
            for (int j = 1; j < (sortedList.length - i); j++) {
                if (sortedList[j].isEarlier(sortedList[j - 1])) {
                    temp = sortedList[j - 1];
                    sortedList[j - 1] = sortedList[j];
                    sortedList[j] = temp;
                }
            }
        }
        return sortedList;
    }//end of getSortedList
    public void addTask(Task task) {
        this.list.add(task);//.add to add elements in the list
    }
    public void deleteTask(int taskID) {
        //delete tasks using task ID
        for (int i = 0; i < this.list.size(); i++) {
            if (this.list.get(i).getTaskID() == taskID) {
                this.list.remove(i);
            }
        }
    }
    public void deleteAllTasks() {
        this.list.clear();
    }
    public int getTaskNumber() {
        return this.list.size();
    }
    public void printList(Task[] tasks) {
        System.out.println("-------------------------");
        for (Task task : tasks) {
            task.printTask();
        }
        System.out.println("-------------------------");
    }
    public static void displayMenu() {
        System.out.println("1)Add tasks");
        System.out.println("2)List tasks");
        System.out.println("3)Delete Tasks");
        System.out.println("4)Delete all tasks");
        System.out.println("5)Exit");
      }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        ToDoList toDoList = new ToDoList();
       boolean run = true;

        while (run) {//will continue to loop until user chooses a valid option
             displayMenu();
            int choice = in.nextInt();
            switch (choice) {
                //nextLine() method advances this scanner past the current line and returns the input that was skipped
                case 1:
                    in.nextLine();
                    System.out.print("Task Name: ");
                    String taskTitle = in.nextLine();
                    System.out.print("Task Deadline (dd mm yyyy): ");
                    int taskDay = in.nextInt();
                    int taskMonth = in.nextInt();
                    int taskYear = in.nextInt();
                    in.nextLine();
                    System.out.print("Time Deadline (hh mm): ");
                    int taskHour = in.nextInt();
                    int taskMin = in.nextInt();
                    in.nextLine();
                    System.out.print("Is task Regular or Important?: ");
                    String taskImportant = in.nextLine();
                    //Task ID made with all info set up neatly
                    Task newTask = new Task(new Time(taskHour, taskMin), new Date(taskDay, taskMonth, taskYear), taskTitle, taskImportant, toDoList.getTaskNumber() + 1);
                    //Adds the new task to the list
                    toDoList.addTask(newTask);
                    //Display the sorted tasks
                    System.out.printf("Task %d is added. The To-Do list is as follows:\n", newTask.getTaskID());
                    toDoList.printList(toDoList.getSortedList());
                    break;
                case 2:
                    //List all tasks
                    toDoList.printList(toDoList.getSortedList());
                    break;
                case 3:
                    //Delete a task
                    toDoList.printList(toDoList.getSortedList());
                    in.nextLine();
                    System.out.print("Enter ID number to delete task: ");
                    int taskID = in.nextInt();
                    toDoList.deleteTask(taskID);
                    System.out.printf("\nTask %d is deleted. The new list is:\n", taskID);
                    toDoList.printList(toDoList.getSortedList());
                    break;
                case 4:
                    //Delete all tasks
                    toDoList.deleteAllTasks();
                    System.out.println("Tasks Deleted");
                    break;
                case 5:
                    //Exit program
                    System.out.println("Exiting program, goodbye.");
                    run = false;
                    break;
            }
        }
    }

}


class Date {

    private int day;
    private int month;
    private int year;
    //Default constructor for date,
    public Date() {
        this(0, 0, 0);
    }

    public Date(int day, int month, int year) {
        this.day = day;
        this.month = month;
        this.year = year;
    }
    //accessors and mutators
    public int getDay() {
        return this.day;
    }

    public int getMonth() {
        return this.month;
    }

    public int getYear() {
        return this.year;
    }

    public void setDay(int day) {
        this.day = day;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public void setYear(int year) {
        this.year = year;
    }

        public String toString() {
        return String.format("%d/%d/%d", this.day, this.month, this.year);

    }
    //Returns whether this date is earlier than another date provided as parameter. If they are the same, returns false
    public boolean isEarlier(Date date) {
        //If the years are the same, narrow the comparison down the months
        if (this.year == date.year) {
            //Repeat the same thing as years, but narrowed down for months
            if (this.month == date.month) {
                if (this.day == date.day) {
                    //Returns false because if they are the same date, then one is not earlier than the other
                    return false;
                } else if (this.day < date.day) {
                    return true;
                } else {
                    return false;
                }
            } else if (this.month < date.month) {
                return true;
            } else {
                return false;
            }
                    } else if (this.year < date.year) {
            return true;
                    } else {
            return false;
        }
    }
}
class Time {

    private int hour;
    private int min;
    //Default constructor for time
    public Time() {
        this(0, 0);
    }

    public Time(int hour, int min) {
        this.hour = hour;
        this.min = min;
    }
    //Accessors and mutator methods for hour and min attributes
    public int getHour() {
        return this.hour;
    }

    public int getMin() {
        return this.min;
    }

    public void setHour(int hour) {
        this.hour = hour;
    }

    public void setMin(int min) {
        this.min = min;
    }

    //Returns time in HH:MM format
    public String toString() {
        return String.format("%d:%d", this.hour, this.min);
    }
    //Returns whether or not this time is earlier than the time provided as a parameter. Returns false if both same
    public boolean isEarlier(Time time) {
        //If they are the same hour, narrow the comparison down to the minute
        if (this.hour == time.hour) {
            //Exact same process, but for min
            if (this.min == time.min) {
                //Returns false because if they're the same time, one is not earlier than the other
                return false;
            } else if (this.min < time.min) {
                return true;
            } else {
                return false;
            }
            //If this hour is less than the other hour, it is earlier, so return true
        } else if (this.hour < time.hour) {
            return true;
            //Otherwise, the time isn't earlier
        } else {
            return false;
        }
    }

}
class Task {
    private Time time;
    private Date date;
    private String title;
    private String Important;
    private int taskID;
    //Default constructor leaves attributes blank
    public Task() {
        this(null, null, null, null, 0);
    }
    public Task(Time time, Date date, String title, String Important, int taskID) {
        this.time = time;
        this.date = date;
        this.title = title;
        this.Important = Important;
        this.taskID = taskID;
    }
    //accessors and mutators for time, date, title, Important, and taskID
    public Time getTime() {
        return this.time;
    }
    public Date getDate() {
        return this.date;
    }
    public String getTitle() {
        return this.title;
    }
    public String getImportant() {
        return this.Important;
    }
    public int getTaskID() {
        return this.taskID;
    }
    public void setTime(Time time) {
        this.time = time;
    }
    public void setDate(Date date) {
        this.date = date;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public void setImportant(String Important) {
        this.Important = Important;
    }
    //Prints task date
    public void printTask() {
        System.out.printf("* Task %d: %s, %s, %s, %s\n", this.taskID, "title: ", this.title, this.date.toString(), this.time.toString(), this.Important);
    }
    //Returns true if this task is earlier than task provided as parameter.
    public boolean isEarlier(Task task) {
        //If the other task's date is earlier than this task's date, it must be earlier
        if (this.date.isEarlier(task.getDate())) {
            return true;
            //However, if the dates are the same, narrow the check down to the tasks' times
        } else if (!this.date.isEarlier(task.getDate()) && !task.getDate().isEarlier(this.date)) {
            return this.time.isEarlier(task.time);
        }
        return false;
    }
}

Solutions

Expert Solution

Description:

Since the class Task has members Data and Time,there is a dependencey between them.After that there will be a dependency between ToDOList and Task.

This Relationship is depicted in the following UML Diagram:


Related Solutions

UML Diagram for this java code //java code import java.util.*; class Message { private String sentence;...
UML Diagram for this java code //java code import java.util.*; class Message { private String sentence; Message() { sentence=""; } Message(String text) { setSentence(text); } void setSentence(String text) { sentence=text; } String getSentence() { return sentence; } int getVowels() { int count=0; for(int i=0;i<sentence.length();i++) { char ch=sentence.charAt(i); if(ch=='a' || ch=='e' || ch=='i' || ch=='o' || ch=='u' || ch=='A' || ch=='E' || ch=='I' || ch=='O' || ch=='U') { count=count+1; } } return count; } int getConsonants() { int count=0; for(int i=0;i<sentence.length();i++)...
import java.util.Stack; import java.util.ArrayList; import java.util.Scanner; class TreeNode{ int data; ArrayList<TreeNode> children = new ArrayList<>(); TreeNode...
import java.util.Stack; import java.util.ArrayList; import java.util.Scanner; class TreeNode{ int data; ArrayList<TreeNode> children = new ArrayList<>(); TreeNode parent = null;    public TreeNode(int d){ data = d; }    public TreeNode addChild(int d){ TreeNode n = new TreeNode(d); n.setParent(this); children.add(n); return n; }    public ArrayList<TreeNode> getChildren(){ return children; }    public void setParent(TreeNode p){ parent = p; }    public TreeNode getParent(){ return parent; } } class Main { public static void main(String[] args)    {        Scanner scan...
import java.util.Stack; import java.util.ArrayList; import java.util.Scanner; class TreeNode{ int data; ArrayList<TreeNode> children = new ArrayList<>(); TreeNode...
import java.util.Stack; import java.util.ArrayList; import java.util.Scanner; class TreeNode{ int data; ArrayList<TreeNode> children = new ArrayList<>(); TreeNode parent = null;    public TreeNode(int d){ data = d; }    public TreeNode addChild(int d){ TreeNode n = new TreeNode(d); n.setParent(this); children.add(n); return n; }    public ArrayList<TreeNode> getChildren(){ return children; }    public void setParent(TreeNode p){ parent = p; }    public TreeNode getParent(){ return parent; } } class Main { public static void main(String[] args)    {        Scanner scan...
import java.util.Stack; import java.util.ArrayList; import java.util.Scanner; class TreeNode{ int data; ArrayList<TreeNode> children = new ArrayList<>(); TreeNode...
import java.util.Stack; import java.util.ArrayList; import java.util.Scanner; class TreeNode{ int data; ArrayList<TreeNode> children = new ArrayList<>(); TreeNode parent = null;    public TreeNode(int d){ data = d; }    public TreeNode addChild(int d){ TreeNode n = new TreeNode(d); n.setParent(this); children.add(n); return n; }    public ArrayList<TreeNode> getChildren(){ return children; }    public void setParent(TreeNode p){ parent = p; }    public TreeNode getParent(){ return parent; } } class Main { public static void main(String[] args)    {        Scanner scan...
import java.util.Stack; import java.util.ArrayList; import java.util.Scanner; class TreeNode{ int data; ArrayList<TreeNode> children = new ArrayList<>(); TreeNode...
import java.util.Stack; import java.util.ArrayList; import java.util.Scanner; class TreeNode{ int data; ArrayList<TreeNode> children = new ArrayList<>(); TreeNode parent = null;    public TreeNode(int d){ data = d; }    public TreeNode addChild(int d){ TreeNode n = new TreeNode(d); n.setParent(this); children.add(n); return n; }    public ArrayList<TreeNode> getChildren(){ return children; }    public void setParent(TreeNode p){ parent = p; }    public TreeNode getParent(){ return parent; } } class Main { public static void main(String[] args)    {        Scanner scan...
Please add comments to this code! JAVA code: import java.util.ArrayList; public class ShoppingCart { private final...
Please add comments to this code! JAVA code: import java.util.ArrayList; public class ShoppingCart { private final ArrayList<ItemOrder> itemOrder;    private double total = 0;    private double discount = 0;    ShoppingCart() {        itemOrder = new ArrayList<>();        total = 0;    }    public void setDiscount(boolean selected) {        if (selected) {            discount = total * .1;        }    }    public double getTotal() {        total = 0;        itemOrder.forEach((order) -> {            total +=...
I have the following code: //Set.java import java.util.ArrayList; public class Set<T> { //data fields private ArrayList<T>...
I have the following code: //Set.java import java.util.ArrayList; public class Set<T> { //data fields private ArrayList<T> myList; // constructors Set(){ myList = new ArrayList<T>(); } // other methods public void add(T item){ if(!membership(item)) myList.add(item); } public void remove(T item){ if(membership(item)) myList.remove(item); } public Boolean membership(T item){ for (T t : myList) if (t.equals(item)) return true; return false; } public String toString(){ StringBuilder str = new StringBuilder("[ "); for(int i = 0; i < myList.size() - 1; i++) str.append(myList.get(i).toString()).append(", "); if(myList.size()...
I need to translate my java code into C code. import java.util.Scanner; class CS_Lab3 { public...
I need to translate my java code into C code. import java.util.Scanner; class CS_Lab3 { public static void main( String args[] ) { Scanner input = new Scanner( System.in ); // create array to hold user input int nums[] = new int[10]; int i = 0, truthCount = 0; char result = 'F', result2 = 'F'; // ask user to enter integers System.out.print("Please Enter 10 Different integers: "); // gather input into array for ( i = 0; i <...
I need this Java code transform to Python Code PROGRAM: import java.util.Scanner; public class Main {...
I need this Java code transform to Python Code PROGRAM: import java.util.Scanner; public class Main { static int count=0; int calculate(int row, int column) { count++; if(row==1&&column==1) { return 0; } else if(column==1) { return ((200+calculate(row-1,column))/2); } else if(column==row) { return (200+calculate(row-1,column-1))/2; } else { return ((200+calculate(row-1,column-1))/2)+((200+calculate(row-1,column))/2); }    } public static void main(String[] args) { int row,column,weight; Main m=new Main(); System.out.println("Welcome to the Human pyramid. Select a row column combination and i will tell you how much weight the...
TASK: Based upon the following code: import java.util.Scanner; // Import the Scanner class public class Main...
TASK: Based upon the following code: import java.util.Scanner; // Import the Scanner class public class Main {   public static void main( String[] args ) {     Scanner myInput = new Scanner(System.in); // Create a Scanner object     System.out.println("Enter (3) digits: ");     int W = myInput.nextInt();     int X = myInput.nextInt();     int Y = myInput.nextInt();      } } Use the tools described thus far to create additional code that will sort the integers in either monotonic ascending or descending order. Copy your code and...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT