Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.93 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.time.LocalDate;
  3. /**
  4. * Write a description of class ListaTareas here.
  5. *
  6. * @author (your name)
  7. * @version (a version number or a date)
  8. */
  9. public class ListaTareas
  10. {
  11. private ArrayList<Tarea> listaDeTareas;
  12.  
  13. private int contadorId;
  14.  
  15. public ListaTareas()
  16. {
  17. listaDeTareas = new ArrayList<Tarea>();
  18. contadorId = 10;
  19. }
  20.  
  21. public void addTarea(String descripcionTarea)
  22. {
  23. Tarea tarea = new Tarea(descripcionTarea, contadorId);
  24. listaDeTareas.add(tarea);
  25. contadorId++;
  26. }
  27.  
  28. public void mostrarTareas()
  29. {
  30. int posicion = 1;
  31. for (Tarea tarea : listaDeTareas) {
  32. System.out.println(posicion + ". " + tarea.toString());
  33. posicion++;
  34. }
  35. }
  36.  
  37. public void marcarComoCompletadaPos(int posicionTarea)
  38. {
  39. int posicionReal = posicionTarea - 1;
  40. if (posicionReal >= 0 && posicionReal < listaDeTareas.size()) {
  41. listaDeTareas.get(posicionReal).marcarComoCompletada();
  42. }
  43. }
  44.  
  45. public void mostrarCoincidentes(String textoABuscar)
  46. {
  47. int posicion = 0;
  48. while (posicion < listaDeTareas.size()) {
  49. Tarea tareaActual = listaDeTareas.get(posicion);
  50. if (tareaActual.getDescripcion().contains(textoABuscar)) {
  51. System.out.println((posicion + 1) + tareaActual.toString());
  52. }
  53. posicion++;
  54. }
  55. }
  56.  
  57. public void eliminarTarea(int posicionTarea)
  58. {
  59. int posicionReal = posicionTarea - 1;
  60. if (posicionReal >= 0 && posicionReal < listaDeTareas.size()) {
  61. listaDeTareas.remove(posicionReal);
  62. }
  63. }
  64.  
  65. public void establecerNuevaPrioridad(int posicion, int prioridad)
  66. {
  67. int posicionReal = posicion - 1;
  68. if(posicionReal >= 0 && posicionReal < listaDeTareas.size()) {
  69. if(prioridad >= 0 && prioridad <= 5) {
  70. listaDeTareas.get(posicionReal).cambiarPrioridad(prioridad);
  71. }
  72. }
  73. }
  74.  
  75. public void setFechaVencimiento(int posicion, int anno, int mes, int dia)
  76. {
  77. int posicionReal = posicion - 1;
  78. if(posicionReal >= 0 && posicionReal < listaDeTareas.size()) {
  79. listaDeTareas.get(posicionReal).fijarFechaDeVencimiento(anno, mes, dia);
  80. }
  81. }
  82.  
  83. public void mostrarHoy()
  84. {
  85. int posicion = 1;
  86. LocalDate Hoy = LocalDate.now();
  87. for (Tarea tarea: listaDeTareas) {
  88. if(tarea.getFecha() != null) {
  89. if(tarea.getFecha().isEqual(Hoy)) {
  90. System.out.println(posicion + ". " + tarea.toString());
  91. }
  92. }
  93. posicion++;
  94. }
  95. }
  96.  
  97. public void mostrarVencidas()
  98. {
  99. int posicion = 1;
  100. LocalDate Hoy = LocalDate.now();
  101. for (Tarea tarea: listaDeTareas) {
  102. if(tarea.getFecha() != null) {
  103. if(tarea.getFecha().isBefore(Hoy)) {
  104. System.out.println(posicion + ". " + tarea.toString());
  105. }
  106. }
  107. posicion++;
  108. }
  109. }
  110.  
  111. public void verTareaMasPrioritaria()
  112. {
  113. int prioridadMaxima = 0;
  114. int contador = 0;
  115. for (Tarea tarea: listaDeTareas) {
  116. if (prioridadMaxima < tarea.getPrioridad()) {
  117. prioridadMaxima = tarea.getPrioridad();
  118. }
  119. }
  120.  
  121. while (contador < listaDeTareas.size()) {
  122. Tarea tareaActual = listaDeTareas.get(contador);
  123. if (tareaActual.getPrioridad() == prioridadMaxima) {
  124. System.out.println((contador + 1) + ". " + tareaActual.toString());
  125. }
  126. contador++;
  127. }
  128. }
  129.  
  130. public void verTareaMasPrioritaria2()
  131. {
  132. if (listaDeTareas.size() > 0) {
  133. Tarea tareaMasPrioritaria = listaDeTareas.get(0);
  134. for (Tarea tareaActual : listaDeTareas) {
  135. if (tareaActual.getPrioridad() >= tareaMasPrioritaria.getPrioridad()) {
  136. tareaMasPrioritaria = tareaActual;
  137. }
  138. }
  139. System.out.println(tareaMasPrioritaria);
  140. }
  141. }
  142. // A partir de esta línea son metodos con Id.
  143. public void marcarComoCompletadaId(int numeroId)
  144. {
  145. for (Tarea tarea : listaDeTareas) {
  146. if (numeroId == tarea.getId()) {
  147. tarea.marcarComoCompletada();
  148. }
  149. }
  150. }
  151.  
  152. /**
  153. * Metodo que devuelve el índice de una tarea en funcion de su id, en caso de que exista.
  154. * Devuelve -1 en caso de que no exista.
  155. */
  156. public int getPosicion(int numeroId)
  157. {
  158. int posicionDeTarea = -1;
  159. int contador = 0;
  160. for (Tarea tarea : listaDeTareas) {
  161. if (numeroId == tarea.getId()) {
  162. posicionDeTarea = contador;
  163. }
  164. contador++;
  165. }
  166. return posicionDeTarea;
  167. }
  168.  
  169. public void eliminarTareaId(int numeroId)
  170. {
  171. if (listaDeTareas.size() >= 0) {
  172. if (getPosicion(numeroId) <= listaDeTareas.size() && getPosicion(numeroId) != -1) {
  173. listaDeTareas.remove(getPosicion(numeroId));
  174. }
  175. }
  176. }
  177.  
  178. public void marcarCompletadaConId(int numeroId)
  179. {
  180. int posicionReal = getPosicionById(numeroId);
  181. if (posicionReal >= 0 && posicionReal < listaDeTareas.size()) {
  182. listaDeTareas.get(posicionReal).marcarComoCompletada();
  183. }
  184. }
  185.  
  186. public int getPosicionById(int idBuscada)
  187. {
  188. int posicionBuscada = -1;
  189. int posicionActual = 0;
  190. boolean buscando = true;
  191. while ((posicionActual < listaDeTareas.size()) && (buscando)) {
  192. if (idBuscada == listaDeTareas.get(posicionActual).getId()) {
  193. posicionBuscada = posicionActual;
  194. buscando = false;
  195. }
  196. posicionActual++;
  197. }
  198. return posicionBuscada;
  199. }
  200.  
  201. public void eliminarTareaConId(int numeroId)
  202. {
  203. int posicionReal = getPosicionById(numeroId);
  204. if (posicionReal >= 0 && posicionReal < listaDeTareas.size()) {
  205. listaDeTareas.remove(posicionReal);
  206. }
  207. }
  208.  
  209. public void establecerNuevaPrioridadConId(int numeroId, int prioridad)
  210. {
  211. int posicionReal = getPosicionById(numeroId);
  212. if(posicionReal >= 0 && posicionReal < listaDeTareas.size()) {
  213. if(prioridad >= 0 && prioridad <= 5) {
  214. listaDeTareas.get(posicionReal).cambiarPrioridad(prioridad);
  215. }
  216. }
  217. }
  218.  
  219. /**
  220. * Implementar un metodo llamado "tareaMasViejaPendiente" que
  221. * nos devuelva el id de la tarea mas antigua de nuestra lista
  222. * que aun no esta completada. En caso de que no haya tareas
  223. * sin completar devuelve -1.
  224. */
  225. public int tareaMasViejaPendiente()
  226. {
  227. int posicionBuscada = -1;
  228. int posicionActual = 0;
  229. boolean buscando = true;
  230. while (posicionActual < listaDeTareas.size() && buscando) {
  231. Tarea tareaActual = listaDeTareas.get(posicionActual);
  232. if (listaDeTareas.get(posicionActual).estaTerminada() == false) {
  233. posicionBuscada = tareaActual.getId();
  234. buscando = false;
  235. }
  236. posicionActual++;
  237. }
  238. return posicionBuscada;
  239. }
  240.  
  241. /**
  242. * Implementar un metodo llamado "numeroTareasSinTerminar"
  243. * que nos devuelva el numero de tareas sin termiar.
  244. */
  245. public int numeroTareasSinTerminar()
  246. {
  247. int contador = 0;
  248. int tareasSinTerminar = 0;
  249. while (contador < listaDeTareas.size()) {
  250. Tarea tareaActual = listaDeTareas.get(contador);
  251. if (!listaDeTareas.get(contador).estaTerminada()) {
  252. tareasSinTerminar++;
  253. }
  254. contador++;
  255. }
  256. return tareasSinTerminar;
  257. }
  258.  
  259. /**
  260. * Implementar un metodo llamado "hayTareasDuplicadas" que
  261. * devuelve true en caso de que haya dos tareas con la misma
  262. * descripcion o false en caso contrario.
  263. */
  264. public boolean hayTareasDuplicadas()
  265. {
  266. int contador = 0;
  267. int contadorDeCoincidencias = 0;
  268. boolean hayTareasDuplicadas = false;
  269. while (contador < listaDeTareas.size()) {
  270. Tarea tareaActual = listaDeTareas.get(contador);
  271. for (Tarea tarea : listaDeTareas) {
  272. if (tareaActual.getDescripcion() == tarea.getDescripcion()) {
  273. contadorDeCoincidencias++;
  274. if (contadorDeCoincidencias > listaDeTareas.size()) {
  275. hayTareasDuplicadas = true;
  276. }
  277. }
  278. }
  279. contador++;
  280. }
  281. return hayTareasDuplicadas;
  282. }
  283.  
  284. public void prueba()
  285. {
  286. for (Tarea tarea : listaDeTareas) {
  287. System.out.println(tarea.getDescripcion());
  288. }
  289. }
  290. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement