Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.43 KB | None | 0 0
  1. package tasklist;
  2.  
  3. import java.util.*;
  4. public class Task
  5. {
  6. private String name;
  7. private int priority;
  8.  
  9. public Task()
  10. {
  11. this.name = "none";
  12. this.priority = 1;
  13. }
  14.  
  15. public Task(String name, int priority)
  16. {
  17. if(name.length() > 35){
  18. name = name.substring(0, 35);
  19. }
  20. if(priority < 1 || priority > 5){
  21. priority = 1;
  22. }
  23. this.name = name;
  24. this.priority = priority;
  25. }
  26.  
  27. public String getName() {
  28. return name;
  29. }
  30.  
  31. public void setName(String name) {
  32. this.name = name;
  33. }
  34.  
  35. public int getPriority() {
  36. return priority;
  37. }
  38.  
  39. public void setPriority(int priority)
  40. {
  41. this.priority = priority;
  42. }
  43.  
  44. @Override
  45. public String toString()
  46. {
  47. return "Task{" + "name = " + name + ", priority = " + priority + '}';
  48. }
  49.  
  50. @Override
  51. public boolean equals(Object obj)
  52. {
  53. if (this == obj)
  54. {
  55. return true;
  56. }
  57. if (obj == null)
  58. {
  59. return false;
  60. }
  61. if (getClass() != obj.getClass())
  62. {
  63. return false;
  64. }
  65. final Task other = (Task) obj;
  66. if (this.priority != other.priority)
  67. {
  68. return false;
  69. }
  70. if (!Objects.equals(this.name, other.name))
  71. {
  72. return false;
  73. }
  74. return true;
  75. }
  76.  
  77. }
  78.  
  79. package tasklist;
  80.  
  81. import java.util.Scanner;
  82. public class TaskDriver {
  83. public static void main(String[] args){
  84.  
  85. TaskList list = new TaskList();
  86. Scanner input = new Scanner(System.in);
  87. int choice = 0;
  88. do{
  89. 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");
  90. System.out.println("Enter choice: ");
  91. choice = input.nextInt();
  92. switch (choice) {
  93. case 1:
  94. System.out.println("Task list is: ");
  95. System.out.println(list.toString());
  96. break;
  97. case 2:
  98. System.out.println(list.getCount());
  99. break;
  100. case 3:
  101. System.out.println("Enter task name: ");
  102. String name = input.next();
  103. System.out.println("Enter task priority (1-5): ");
  104. int priority = input.nextInt();
  105. Task t = new Task(name,priority);
  106. list.addTask(t);
  107. System.out.println("Task added successfully!");
  108. break;
  109. case 4:
  110. {
  111. System.out.println("Here is the list of tasks:");
  112. System.out.println(list.toString());
  113. System.out.println("Enter number of task to delete:");
  114. int index = input.nextInt();
  115. list.deleteTask(index);
  116. break;
  117. }
  118. case 5:
  119. System.out.println(list.next().toString());
  120. break;
  121. case 6:
  122. System.out.println(list.printTasks(list.sort()));
  123. break;
  124. case 7:
  125. {
  126. System.out.println("Enter 1 to make 1 highest priority anything else will make 5 highest priority:");
  127. int index = input.nextInt();
  128. if(index == 1){
  129. list.setOrder(true);
  130. }else{
  131. list.setOrder(false);
  132. } break;
  133. }
  134. case 8:
  135. System.exit(0);
  136. default:
  137. System.out.println("Invalid choice, try again");
  138. break;
  139. }
  140.  
  141.  
  142.  
  143.  
  144. }while(choice != 8);
  145. }
  146. }
  147.  
  148. package tasklist;
  149.  
  150. import java.util.Arrays;
  151. public class TaskList{
  152.  
  153. public final int max = 20;
  154. private Task[] list = new Task[max];
  155. private int count;
  156. private boolean order;
  157.  
  158. public TaskList() {
  159. this.count = 0;
  160. this.order = true;
  161. }
  162. public TaskList(Task[] list) {
  163. this.list = list;
  164. }
  165. public int getCount() {
  166. return count;
  167. }
  168.  
  169. public boolean isOrder() {
  170. return order;
  171. }
  172.  
  173. public void setOrder(boolean order) {
  174. this.order = order;
  175. }
  176. public void addTask(Task t){
  177. list[count] = t;
  178. count++;
  179. }
  180. public void deleteTask(int index){
  181. index--;
  182. Task[] temp = new Task[max];
  183. int k = 0;
  184. for(int i = 0; i < list.length; i++){
  185. if( i == index){
  186. continue;
  187. }
  188. temp[k++] = list[i];
  189. }
  190. list = temp;
  191. count--;
  192. }
  193. public Task[] sort(){
  194. Task[] temp = new Task[count];
  195. for(int i = 0; i < count; i++){
  196. temp[i] = list[i];
  197. }
  198. if(order){
  199. Arrays.sort(temp, (Task t1, Task t2) -> t1.getPriority() - t2.getPriority());
  200. }else{
  201. Arrays.sort(temp, (Task t1, Task t2) -> t2.getPriority() - t1.getPriority());
  202. }
  203. return temp;
  204. }
  205.  
  206. public Task next(){
  207. if(count == 0){
  208. return null;
  209. }
  210. else{
  211. Task[] temp;
  212. temp = sort();
  213. return temp[1];
  214. }
  215. }
  216.  
  217. @Override
  218. public boolean equals(Object obj) {
  219. if (this == obj) {
  220. return true;
  221. }
  222. if (obj == null) {
  223. return false;
  224. }
  225. if (getClass() != obj.getClass()) {
  226. return false;
  227. }
  228. final TaskList other = (TaskList) obj;
  229. if (!Arrays.deepEquals(this.list, other.list)) {
  230. return false;
  231. }
  232. return true;
  233. }
  234.  
  235. @Override
  236. public String toString() {
  237. String data = "";
  238. for(int i = 0; i < count; i++){
  239. data = data+ (i+1) + "- " + list[i].getName() + ", " + Integer.toString(list[i].getPriority());
  240. data = data + "n";
  241. }
  242.  
  243. return data;
  244. }
  245.  
  246. public String printTasks(Task[] list){
  247. String data = "";
  248. for(int i = 0; i < count; i++){
  249. data = data+ (i+1) + "- " + list[i].getName() + ", " + Integer.toString(list[i].getPriority());
  250. data = data + "n";
  251. }
  252. return data;
  253. }
  254.  
  255. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement