Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
514
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.70 KB | None | 0 0
  1. /**
  2. * A COMPLETER...
  3. *
  4. */
  5. public class Multiliste {
  6.  
  7. //---------------------------
  8. // CONSTANTES
  9. //---------------------------
  10.  
  11. //Message de presentation du programme
  12. public final static String MSG_PRESENTATION = "GESTION D'UNE MULTILISTE";
  13.  
  14. //Menu et message de sollicitation du menu
  15. public final static String MENU =
  16. "\n----\n"
  17. + "MENU\n----\n"
  18. + "1. Creer une nouvelle liste\n"
  19. + "2. Supprimer une liste\n"
  20. + "3. Ajouter des items a une liste\n"
  21. + "4. Retirer des items d'une liste\n"
  22. + "5. Afficher une liste\n"
  23. + "6. Quitter\n\n"
  24. + "Entrez votre choix :\n ";
  25.  
  26. //Message d'erreur pour la validation du choix au menu
  27. public final static String MSG_ERR_CHOIX_MENU =
  28. "\nChoix invalide ! Recommencez...";
  29.  
  30. //Message affiche a la fin du programme
  31. public final static String MSG_FIN_PROG = "\n\nAUREVOIR !\n";
  32.  
  33. //Message d'erreur multiliste
  34. public final static String MSG_ERR =
  35. "\nAucune Liste...";
  36.  
  37. public final static String MSG_ENTRER =
  38. "Taper sur <ENTREE> pour revenir au menu...";
  39.  
  40. public final static String MSG_ERR_ITEMS =
  41. "ERREUR ! Le nom doit contenir entre 2 et 30 caracteres. Recommencez...";
  42.  
  43. public final static String MSG_SOL_LISTE =
  44. "Entrez le nom de la liste(<ENTREE> pour annuler)";
  45.  
  46. public final static String MSG_ERR_LISTE =
  47. ("AUCUNE LISTE A SUPPRIMER");
  48.  
  49. public final static String NO_MULTILISTE =
  50. ("CETTE MULTILISTE NE CONTIENT AUCUNE LISTE");
  51.  
  52. public final static String OPE_ANUL =
  53. "* OPERATION ANNULEE *";
  54.  
  55. public final static int MIN_LISTE = 2;
  56.  
  57. public final static int MAX_LISTE = 29;
  58.  
  59. public final static int MIN_ITEMS = 2;
  60.  
  61. public final static int MAX_ITEMS = 49;
  62.  
  63.  
  64.  
  65. //---------------------------
  66. // METHODES
  67. //---------------------------
  68.  
  69. /**
  70. * Permet de vérifier si la liste d'items est de longueur conforme.
  71. * @param nomItem, item a verifier.
  72. * @return true si la condition est remplie.
  73. */
  74. public static boolean longeurChaineItem(String nomItem) {
  75. return nomItem.length() + 1 > MIN_ITEMS && nomItem.length() + 1 < MAX_ITEMS;
  76. }
  77.  
  78. /**
  79. * Permet de vérifier si la liste est de longueur conforme.
  80. * @param liste, liste dont la longueur est a verifier.
  81. * @return la liste si elle est conforme.
  82. */
  83. public static String listeLength (String liste) {
  84. if (liste.length() == 0) {
  85. System.out.println(OPE_ANUL + "\n");
  86. }
  87. if (liste.length() != 0) {
  88. while (liste.length() != 0 &&(liste.length() < MIN_LISTE || liste.length() > MAX_LISTE)) {
  89. System.out.println(MSG_ERR_ITEMS);
  90. System.out.println(MSG_SOL_LISTE);
  91. liste = Clavier.lireString();
  92. if (liste.length() == 0) {
  93. System.out.println(OPE_ANUL + "\n");
  94. }
  95. }
  96. }return liste;
  97. }
  98.  
  99. /**
  100. * Permet de convertir la multiliste avec items entre parenthese.
  101. * @param multiliste multiliste a convertir.
  102. * @return la multiliste aves items entre parenthese.
  103. */
  104. public static String multilisteOpt5 (String multiliste) {
  105. String multilisteIemeListe;
  106. String multilisteRetour = "";
  107. String multilsiteSub;
  108. int i = 1;
  109. int nbrlistes = nbrListes(multiliste);
  110.  
  111.  
  112. while (i < nbrlistes) {
  113. multilisteIemeListe = extraireIemeListe(multiliste, i);
  114. multilsiteSub = listeNoItems(multilisteIemeListe);
  115. if(!multilisteIemeListe.isEmpty()) {
  116. multilisteRetour += multilsiteSub + "(" + nbrItemsDansListe(multilisteIemeListe) + ") " + "\n";
  117. }
  118. ++i;
  119. }return multilisteRetour;
  120. }
  121.  
  122. /**
  123. * Permet de convertir la liste sans items.
  124. * @param multiliste multiliste a convertir.
  125. * @return la multiliste sans items.
  126. */
  127. public static String listeNoItems (String multiliste) {
  128. String multilisteNoItems = "";
  129.  
  130. if (multiliste.contains(":")) {
  131. multilisteNoItems = multiliste.substring(0, multiliste.indexOf(":"));
  132. }
  133. if (!multiliste.contains(":")) {
  134. multilisteNoItems = multiliste.substring(0,multiliste.length());
  135. } return multilisteNoItems;
  136. }
  137.  
  138.  
  139.  
  140. /**
  141. * Permet de cree la multiliste.
  142. * @param nomListe les listes a rajouter a la multiliste.
  143. * @param nomItem les items a rajouter a la liste
  144. * @return la multiliste.
  145. */
  146. public static String creeMultiliste (String nomListe, String nomItem) {
  147. String multiliste = "";
  148. multiliste = nomListe + "\n";
  149. if (!nomItem.isEmpty()) {
  150. multiliste = nomListe + "::" + nomItem + "\n" ;
  151. }
  152. return multiliste;
  153. }
  154.  
  155. /**
  156. * Permet d'obtenir l'indice de debut de l'item de la liste desirer.
  157. * @param liste la liste a dans la quel on recherche l'indice de debut de l'item.
  158. * @param ieme le numero de l'item que l'on désire avoir l'indice de debut.
  159. * @return l'indice de debut du ieme item.
  160. */
  161. public static int indiceDebutIemeItem (String liste,int ieme){
  162. int indiceDebutIemeItem;
  163. if (ieme > Multiliste.nbrItemsDansListe(liste)) {
  164. indiceDebutIemeItem = -1;
  165. return indiceDebutIemeItem;
  166. } else {
  167. for (int i = 0; i < ieme; i++) {
  168. liste = liste.substring(liste.indexOf("|"), liste.lastIndexOf("|"));
  169. }
  170. indiceDebutIemeItem = liste.charAt(0);
  171. }
  172. return indiceDebutIemeItem;
  173. }
  174.  
  175. /**
  176. * Permet de compter le nombre d'items dans la liste.
  177. * @param liste la liste a dans la quel on recherche le nombre d'items.
  178. * @return le nombre d'items.
  179. */
  180. public static int nbrItemsDansListe (String liste) {
  181.  
  182. int nbrItemsDansListes = 0;
  183.  
  184. while (liste.contains("|")) {
  185.  
  186. liste = liste.substring(liste.indexOf("|"), liste.lastIndexOf("|"));
  187.  
  188. nbrItemsDansListes = ++nbrItemsDansListes;
  189. }
  190. return nbrItemsDansListes;
  191. }
  192.  
  193. public static String iemeListe (String multiliste,int nbrListes) {
  194. String liste;
  195. String listeItems = "";
  196. String testList = "";
  197.  
  198.  
  199. if (nbrListes != 0) {
  200. liste = extraireIemeListe(multiliste, nbrListes);
  201. if (liste.contains("::")) {
  202. String listeMaj = liste.substring(0, liste.indexOf("::"));
  203. listeMaj = listeMaj.toUpperCase();
  204. for (int i = 0; i < nbrListes; i++) {
  205. String liste0 = liste.substring(liste.lastIndexOf(":") + 1, liste.length());
  206. String liste1 = liste.substring(liste.lastIndexOf(":") + 1, liste.length());
  207.  
  208. //substring qui permet de supprimer les items 1 par un et les mettre dans une autre liste avec leur numero
  209. i = 1;
  210. while (i <= nbrItemsDansListe(liste.substring(liste.lastIndexOf(":") + 1, liste.length()))) {
  211. liste0 = liste1.substring(0, liste1.indexOf("|"));
  212.  
  213. listeItems += ("\n(") + i + (")") + liste0;
  214. liste1 = liste1.substring(liste1.indexOf("|") + 1, liste1.length());
  215. ++i;
  216. }
  217. }
  218. testList = listeMaj + ":" + listeItems;
  219. System.out.println(testList);
  220. }
  221. if (!liste.contains("::")) {
  222. String listeMaj = liste.toUpperCase();
  223. System.out.println(listeMaj + "\n" + "Cette liste ne contient aucun item" + "\n");
  224. }
  225. }return testList;
  226. }
  227.  
  228. /**
  229. * Permet d'extraire une liste de la multiliste
  230. * @param multiliste la multiliste dans la quel on veux extraire une liste.
  231. * @param ieme le numero de la liste que l'on désire extraire.
  232. * @return la ieme liste extraite.
  233. */
  234. public static String extraireIemeListe (String multiliste,int ieme) {
  235.  
  236. String iemeListe = multiliste;
  237.  
  238. int i=1;
  239.  
  240. while (i < ieme) {
  241. iemeListe = iemeListe.substring(iemeListe.indexOf("\n")+1,iemeListe.length());
  242. ++i;
  243. }
  244. i = nbrListes(multiliste);
  245. while (i > ieme) {
  246. iemeListe = iemeListe.substring(0,iemeListe.lastIndexOf("\n",iemeListe.length()-1));
  247. --i;
  248. }
  249. return iemeListe;
  250. }
  251. /**
  252. * Permet de retirer une liste de la multiliste.
  253. * @param multiliste la multiliste dans la quel on veux retirer une liste.
  254. * @param ieme le numero de la liste que l'on désire retirer.
  255. * @return la multiliste moins la ieme liste retirer.
  256. */
  257. public static String supprimerIemeListe (String multiliste,int ieme) {
  258.  
  259. String multiliste1 = multiliste;
  260. String multiliste2 = multiliste;
  261. String multiliste11 = "";
  262. int i=1;
  263. int b=1;
  264. int iemeTest1 = ieme-1;
  265. int iemeTest2 = ieme;
  266. String compteur = String.valueOf(iemeTest2);
  267. String compteur2 = String.valueOf(iemeTest1);
  268.  
  269.  
  270. while (ieme != 0 && ( ieme < 0 || ieme >= nbrListes(multiliste))) {
  271. System.out.println(MSG_ERR_CHOIX_MENU);
  272. System.out.println("Entrez le numero de la liste a supprimer");
  273. ieme = Clavier.lireInt();
  274. }
  275. if (nbrListes(multiliste) == 2) {
  276. multiliste = "";
  277. } else {
  278. while (i <= ieme) {
  279. multiliste1 = multiliste1.substring(multiliste1.indexOf("\n") + 1, multiliste1.length());
  280.  
  281. ++i;
  282. }
  283. while (b <= nbrListes(multiliste1)) {
  284. multiliste1 = multiliste1.replace((compteur + "."), (compteur2) + ".");
  285. ++b;
  286. ++iemeTest1;
  287. ++iemeTest2;
  288. compteur = String.valueOf(iemeTest2);
  289. compteur2 = String.valueOf(iemeTest1);
  290.  
  291. }
  292. i = nbrListes(multiliste);
  293. if (nbrListes(multiliste) == 3) {
  294. multiliste2 = "";
  295. }
  296. if (nbrListes(multiliste) != 3) {
  297. while (i >= ieme) {
  298. multiliste2 = multiliste2.substring(0, multiliste2.lastIndexOf("\n", multiliste2.length() - 1));
  299. --i;
  300. }
  301.  
  302. }
  303. System.out.println(multiliste1 + "\n");
  304. multiliste = multiliste2 + "\n" + multiliste1;
  305. }return multiliste;
  306. }
  307.  
  308.  
  309.  
  310.  
  311. /**
  312. * Permet d'extraire l'indice de debut de la ieme liste.
  313. * @param multiliste la multiliste de la quel on veux obtenir la liste.
  314. * @param ieme le numero de la liste que l'on veux obtenir l'indice de debut.
  315. * @return l'indice de la ieme liste.
  316. */
  317. public static int indiceDebutIemeliste (String multiliste,int ieme) {
  318.  
  319. String debutListe = extraireIemeListe(multiliste,ieme);
  320. return debutListe.indexOf(0); //A ENLEVER, pour compilation seulement.
  321.  
  322. }
  323.  
  324.  
  325. /**
  326. * Permet de compter le nombre de listes dans la multiliste.
  327. * @param multiliste la multiliste dans la quel on veux compter le nombre de liste.
  328. * @return le nombre de listes dans la multiliste.
  329. */
  330. public static int nbrListes (String multiliste) {
  331. int nbrListes = 1;
  332. String multilisteTest = multiliste;
  333.  
  334. while (multilisteTest.contains("\n")) {
  335. multilisteTest = multilisteTest.substring(multilisteTest.indexOf("\n"), multilisteTest.lastIndexOf("\n"));
  336. ++nbrListes;
  337. }
  338. return nbrListes;
  339. }
  340.  
  341.  
  342. /**
  343. * Permet de supprimer un item de la liste.
  344. * @param liste la liste dans la quel on veux supprimer un item
  345. * @param ieme le numero de l'item que l'on désire supprimer
  346. * @return la liste moins l'ieme item supprimer.
  347. */
  348. public static String supprimerIemeItem (String liste,int ieme) {
  349.  
  350. String Liste = liste.substring(0,liste.indexOf("::")+2);
  351. String items = liste.substring(liste.indexOf("::")+2,liste.length());
  352. String liste1 = items;
  353. String liste2 = items;
  354. int i = 1;
  355. int b = nbrItemsDansListe(liste)+1;
  356.  
  357.  
  358. while (i <= ieme) {
  359. liste1 = liste1.substring(liste1.indexOf("|") + 1, liste1.length());
  360. ++i;
  361. }
  362. while (b >= ieme && ieme != 1) {
  363. liste2 = liste2.substring(0, liste2.lastIndexOf("|", liste2.length() - 1));
  364. --b;
  365. } if (ieme == 1) {
  366. liste = Liste + liste1;
  367. } if (ieme !=1) {
  368. System.out.println("\n" + liste1);
  369. System.out.println("\n" + liste2);
  370. liste = Liste + liste2 + "|" + liste1;
  371. }return liste; //A ENLEVER, pour compilation seulement.
  372. }
  373.  
  374.  
  375. /**
  376. * A COMPLETER...
  377. * @param liste
  378. * @return
  379. */
  380. public static String supprimerDesItemsDansListe (String liste){
  381.  
  382. //Methode a completer (enlever ce commentaire)
  383.  
  384. return null; //A ENLEVER, pour compilation seulement.
  385.  
  386. }
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397. /**
  398. * A COMPLETER...
  399. * @param multiliste
  400. * @return
  401. */
  402. public static String creerNouvelleListe (String multiliste) {
  403.  
  404. String nomItemListe = "";
  405. int nbrItems = 0;
  406.  
  407. System.out.println("Entrer le nom d'une nouvelle liste");
  408. String nomListe = Clavier.lireString();
  409.  
  410. nomListe = listeLength(nomListe);
  411.  
  412. if (nomListe.length() >= MIN_LISTE && nomListe.length() <= MAX_LISTE) {
  413.  
  414. System.out.println("Ajouter des items a la nouvel liste (ENTER POUR QUITTER)");
  415. String nomItem = Clavier.lireString();
  416.  
  417. while (nomItem.length() != 0) {
  418. while (longeurChaineItem(nomItem) && nomItem.length() != 0) {
  419. nomItemListe = nomItemListe + nomItem + "|";
  420. System.out.println("Ajouter des items a la nouvel liste (ENTER POUR QUITTER)");
  421. nomItem = Clavier.lireString();
  422. ++nbrItems;
  423. }
  424. while (nomItem.length() != 0 && !longeurChaineItem(nomItem)) {
  425. System.out.println("ERREUR ! L'item doit contenir entre 2 et 50 caracteres. Recommencez...");
  426. System.out.println("Ajouter des items a la nouvel liste");
  427. nomItem = Clavier.lireString();
  428. }
  429. }
  430. System.out.println(nbrItems + " item(s) ajoute(s)" + "\n");
  431. multiliste += nbrListes(multiliste) + (".") + (" ") + creeMultiliste(nomListe, nomItemListe);
  432. }
  433. System.out.println(MSG_ENTRER);
  434. Clavier.lireFinLigne();
  435. return multiliste;
  436. }
  437.  
  438.  
  439. /**
  440. * A COMPLETER...
  441. * @param multiliste
  442. * @return
  443. */
  444. public static String supprimerListe (String multiliste){
  445.  
  446. String creeListeOpt5 = multilisteOpt5(multiliste);
  447. System.out.println(creeListeOpt5);
  448.  
  449. if (multiliste.isEmpty()) {
  450. System.out.println(NO_MULTILISTE);
  451. }else {
  452. System.out.println("Entrez le numero de la liste a supprimer");
  453. int iemeListe = Clavier.lireInt();
  454. multiliste = supprimerIemeListe(multiliste, iemeListe);
  455.  
  456. }
  457. System.out.println("\n" + MSG_ENTRER);
  458. Clavier.lireFinLigne();
  459. return multiliste;
  460. }
  461.  
  462.  
  463. /**
  464. * A COMPLETER...
  465. * @param multiliste
  466. * @param
  467. */
  468. public static String ajouterItems (String multiliste) {
  469.  
  470. String multilisteNumero;
  471. String liste;
  472. String listeItems = "";
  473. int nbrItems = 0;
  474.  
  475. if (multiliste.isEmpty()) {
  476. System.out.println(NO_MULTILISTE);
  477. } else {
  478. String creeListeOpt5 = multilisteOpt5(multiliste);
  479. System.out.println(creeListeOpt5);
  480.  
  481. System.out.println("Entrez le numero de la liste dont vous voulez faire l'ajout d'items");
  482. int nbrListes = Clavier.lireInt();
  483.  
  484. while (nbrListes != 0 && (nbrListes < nbrListes(multiliste) && nbrListes > nbrListes(multiliste))) {
  485. System.out.println("Le numéro doit etre dans la multiliste");
  486. System.out.println("Entrez le numero de la liste dont vous voulez faire l'ajout d'items");
  487. nbrListes = Clavier.lireInt();
  488.  
  489. }
  490. iemeListe(multiliste, nbrListes);
  491.  
  492. System.out.println("Ajouter des items a la liste (ENTER POUR QUITTER)");
  493. String nomItem = Clavier.lireString();
  494. String nomItemListe = extraireIemeListe(multiliste,nbrListes);
  495. String listeRemplacer = extraireIemeListe(multiliste,nbrListes);
  496.  
  497. while (nomItem.length() != 0) {
  498. while (longeurChaineItem(nomItem) && nomItem.length() != 0) {
  499.  
  500. nomItemListe = nomItemListe + nomItem + "|";
  501. System.out.println("Ajouter des items a la liste (ENTER POUR QUITTER)");
  502. nomItem = Clavier.lireString();
  503. ++nbrItems;
  504. }
  505. while (nomItem.length() != 0 && !longeurChaineItem(nomItem)) {
  506. System.out.println("ERREUR ! L'item doit contenir entre 2 et 50 caracteres. Recommencez...");
  507. System.out.println("Ajouter des items a la liste (ENTER POUR QUITTER)");
  508. nomItem = Clavier.lireString();
  509. }if (nomItem.isEmpty()) {
  510. System.out.println(nbrItems + " item(s) ajoute(s)" + "\n");
  511. multiliste = multiliste.replace(listeRemplacer, nomItemListe);
  512. }
  513. }
  514. }
  515. System.out.println("\n" + MSG_ENTRER);
  516. Clavier.lireFinLigne();
  517. return multiliste;
  518. }
  519.  
  520.  
  521.  
  522.  
  523.  
  524. /**
  525. * A COMPLETER...
  526. * @param multiliste
  527. * @return
  528. */
  529. public static String retirerItems (String multiliste) {
  530.  
  531. String multilisteNumero;
  532. String liste;
  533. String listeItems = "";
  534. int nbrItems = 0;
  535. int i = 0;
  536.  
  537. if (multiliste.isEmpty()) {
  538. System.out.println(NO_MULTILISTE);
  539. } else {
  540. String creeListeOpt5 = multilisteOpt5(multiliste);
  541. System.out.println(creeListeOpt5);
  542.  
  543. System.out.println("Entrez le numero de la liste dont vous voulez retirer des items");
  544. int nbrListes = Clavier.lireInt();
  545.  
  546. while (nbrListes != 0 && (nbrListes < nbrListes(multiliste) && nbrListes > nbrListes(multiliste))) {
  547. System.out.println("Le numéro doit etre dans la multiliste");
  548. System.out.println("Entrez le numero de la liste dont vous voulez retirer des items");
  549. nbrListes = Clavier.lireInt();
  550.  
  551. }
  552. iemeListe(multiliste, nbrListes);
  553.  
  554. if (nbrListes == 0) {
  555. System.out.println("\n" + MSG_ENTRER);
  556. }
  557. else {
  558. System.out.println("retirer des items a la liste (ENTER POUR QUITTER)");
  559. int numItem = Clavier.lireInt();
  560.  
  561. String nomItemListe = extraireIemeListe(multiliste, nbrListes);
  562. String listeRemplacer = extraireIemeListe(multiliste, nbrListes);
  563.  
  564. while (numItem != 0 && numItem > nbrItemsDansListe(nomItemListe)) {
  565. System.out.println("ERREUR ! L'item doit etre dans la liste");
  566. System.out.println("retirer des items a la liste (ENTER POUR QUITTER)");
  567. numItem = Clavier.lireInt();
  568. }
  569. if (numItem != 0 && numItem <= nbrItemsDansListe(nomItemListe)) {
  570. nomItemListe = supprimerIemeItem(nomItemListe, numItem);
  571.  
  572. System.out.println("\n" + nomItemListe);
  573. }
  574. if (numItem == 0) {
  575. multiliste = multiliste.replace(listeRemplacer, nomItemListe);
  576. System.out.println("\n" + MSG_ENTRER);
  577. Clavier.lireFinLigne();
  578. }
  579. multiliste = multiliste.replace(listeRemplacer, nomItemListe);
  580.  
  581. }Clavier.lireFinLigne();
  582. }
  583. System.out.println("\n" + MSG_ENTRER);
  584. Clavier.lireFinLigne();
  585. return multiliste;
  586. }
  587.  
  588.  
  589.  
  590.  
  591. /**
  592. * A COMPLETER...
  593. * @param multiliste
  594. * @param
  595. */
  596. public static void afficherListe (String multiliste) {
  597.  
  598. String liste;
  599. String listeItems = "";
  600.  
  601. if (multiliste.isEmpty()) {
  602. System.out.println("\n" + NO_MULTILISTE);
  603. } else {
  604. String creeListeOpt5 = multilisteOpt5(multiliste);
  605. System.out.println(creeListeOpt5);
  606. System.out.println("Entrez le numero de la liste que vous voulez afficher");
  607. int nbrListes = Clavier.lireInt();
  608.  
  609. while (nbrListes != 0 && (nbrListes < nbrListes(multiliste)&& nbrListes > nbrListes(multiliste))) {
  610. System.out.println("Le numéro doit etre dans la multiliste");
  611. System.out.println("Entrez le numero de la liste que vous voulez afficher");
  612. nbrListes = Clavier.lireInt();
  613. }
  614. iemeListe(multiliste,nbrListes);
  615. }
  616. System.out.println(MSG_ENTRER);
  617. Clavier.lireFinLigne();
  618. }
  619.  
  620.  
  621.  
  622. //Cette option permet d'afficher les items d'une liste faisant partie de la multiliste. Si, au choix de cette option, la multiliste
  623. //est vide, le programme affiche un message à cet effet. S'il y a au moins une liste dans la multiliste, le programme affiche
  624. //les listes, numérotées à partir de 1 (avec leur nombre d'items entre parenthèses), et demande à l'utilisateur de saisir le
  625. //numéro de la liste qu'il veut afficher. Un numéro valide doit être entre 1 et nombre_de_listes_dans_multiliste
  626. //inclusivement. Vous devez valider ce numéro. Lorsqu'un numéro valide est saisi, le programme affiche le nom de la liste
  627. //choisie EN MAJUSCULES, suivi de ses items numérotés à partir de 1. (Si la liste choisie ne contient aucun item, le
  628. //programme affiche quand même le nom de la liste (EN MAJUSCULES), mais suivi d'un message comme quoi la liste
  629. //est vide.) boolean contains (CharSequence s) pour verifier si il y a une item dans la liste pour envoyer un message
  630.  
  631. //}
  632.  
  633.  
  634. public static void main (String[]args){
  635. String choixMenu;
  636.  
  637. //Lecture de la multiliste dans le fichier multiliste.txt. Si le fichier
  638. //n'existe a la racine du projet ou s'il est vide, la multiliste retournee
  639. //sera la chaine vide.
  640. String multiliste = TP2Util.lireMultiliste();
  641.  
  642. System.out.println(MSG_PRESENTATION);
  643.  
  644.  
  645. do {
  646. //lecture et validation du menu
  647. System.out.print(MENU);
  648. choixMenu = Clavier.lireString();
  649.  
  650. //NOTE :
  651. //Dans un switch sur une chaine de car., pour tester l'egalite entre
  652. //l'expression du switch et les constantes des case, c'est la methode
  653. //equals qui est utilisee (et non l'operateur ==).
  654. switch (choixMenu) {
  655.  
  656. case "1":
  657. multiliste = creerNouvelleListe(multiliste);
  658. break;
  659.  
  660. case "2":
  661. multiliste = supprimerListe(multiliste);
  662. break;
  663.  
  664. case "3":
  665. multiliste = ajouterItems(multiliste);
  666. break;
  667.  
  668. case "4":
  669. multiliste = retirerItems(multiliste);
  670. break;
  671.  
  672. case "5":
  673. afficherListe(multiliste);
  674. break;
  675.  
  676. case "6":
  677. System.out.println(MSG_FIN_PROG);
  678. break;
  679.  
  680. default:
  681. System.out.println(MSG_ERR_CHOIX_MENU);
  682. }
  683. //Notez ici l'utilisation de equals et non ==
  684. } while (!choixMenu.equals("6"));
  685. }
  686. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement