Samuel_Berkat_Hulu

Linkedlistd

Apr 28th, 2021
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.33 KB | None | 0 0
  1.  
  2. /**
  3.  * Write a description of class linked_listApp here.
  4.  *
  5.  * @author Samuel Berkat Hulu
  6.  * @version 5.0 28-April-2021
  7.  */
  8.  
  9. import java.util.LinkedList;
  10. import java.util.Scanner;
  11. import java.util.InputMismatchException;
  12.  
  13. public class linked_listApp
  14. {
  15.       private static LinkedList<String> dataStorage = new LinkedList<String>();
  16.    
  17.     private static Scanner extracted() {
  18.         return new Scanner(System.in);
  19.     }
  20.    
  21.     private static void displayData(){
  22.         System.out.println("\nData dalam List: " + dataStorage);
  23.         System.out.println("Total Data     : " + dataStorage.size());
  24.     }
  25.    
  26.     private static void addData() {
  27.         System.out.print("Masukkan Data: ");
  28.         String tempData = extracted().nextLine();
  29.         dataStorage.add(tempData);
  30.         displayData();
  31.     }
  32.    
  33.     private static void addDataToFirst() {
  34.         System.out.print("Masukkan Data: ");
  35.         String tempData = extracted().nextLine();
  36.         dataStorage.addFirst(tempData);
  37.         displayData();
  38.     }
  39.    
  40.     private static void addDataToLast() {
  41.         System.out.print("Masukkan Data: ");
  42.         String tempData = extracted().nextLine();
  43.         dataStorage.addLast(tempData);
  44.         displayData();
  45.     }
  46.    
  47.     private static void addDataAtLocation() {
  48.         boolean status = true;
  49.         int indexData = 0;
  50.         displayData();
  51.         while(status) {
  52.             System.out.print("Pilih Index Data yang ingin disisipi data: [0-" + (dataStorage.size() - 1) + "]: ");
  53.             try {
  54.                 status = false;
  55.                 indexData = extracted().nextInt();
  56.             }
  57.             catch(InputMismatchException e) {
  58.                 System.out.println("Data harus berupa Angka!");
  59.                 status = true;
  60.             }
  61.         }
  62.         System.out.print("Data yang ingin disisipkan pada index data ke- " + indexData + ": ");
  63.         String tempData = extracted().nextLine();
  64.         dataStorage.add(indexData, tempData);
  65.         displayData();
  66.     }
  67.    
  68.     private static boolean searchData(String data) {
  69.         return dataStorage.contains(data);
  70.     }
  71.    
  72.     private static void removeData() {
  73.         boolean status = true;
  74.         int indexData = 0;
  75.         displayData();
  76.         while(status) {
  77.             System.out.print("Pilih Index Data yang ingin dihapus: [0-" + (dataStorage.size() - 1) + "]: ");
  78.             try {
  79.                 status = false;
  80.                 indexData = extracted().nextInt();
  81.             }
  82.             catch(InputMismatchException e) {
  83.                 System.out.println("Data harus berupa Angka!");
  84.                 status = true;
  85.             }
  86.         }
  87.         dataStorage.remove(indexData);
  88.         displayData();
  89.     }
  90.    
  91.     private static void removeDataAtFirst() {
  92.         dataStorage.removeFirst();
  93.         displayData();
  94.     }
  95.    
  96.     private static void removeDataAtLast() {
  97.         dataStorage.removeLast();
  98.         displayData();
  99.     }
  100.    
  101.     private static void removeDataByContent() {
  102.         displayData();
  103.         System.out.print("Masukkan Data yang ingin dihapus: ");
  104.         String data = extracted().nextLine();
  105.         if(searchData(data)) {
  106.             dataStorage.remove(data);
  107.         }
  108.         else {
  109.             System.out.println("Anda memasukkan data yang tidak tersimpan di dalam list");
  110.         }
  111.         displayData();
  112.     }
  113.    
  114.     private static void programExit() {
  115.         System.exit(0);
  116.     }
  117.    
  118.     private static void programTitle() {
  119.         System.out.println("\nSimple Linked List Program\n");
  120.     }
  121.    
  122.     private static void programSwitcher() {
  123.         boolean status = true;
  124.         int indexMenu = 0;
  125.         while(status) {
  126.             try {
  127.                 status = false;
  128.                 System.out.print("Pilih Menu [1~9]: ");
  129.                 indexMenu = extracted().nextInt();
  130.             }
  131.             catch(InputMismatchException e) {
  132.                 System.out.println("Masukan harus berupa Angka!");
  133.                 status = true;
  134.             }
  135.         }
  136.        
  137.         switch(indexMenu) {
  138.             case 1: addData(); break;
  139.             case 2: addDataToFirst(); break;
  140.             case 3: addDataToLast(); break;
  141.             case 4: addDataAtLocation(); break;
  142.             case 5: removeData(); break;
  143.             case 6: removeDataAtFirst(); break;
  144.             case 7: removeDataAtLast(); break;
  145.             case 8: removeDataByContent(); break;
  146.             case 9: programTitle(); break;
  147.             case 10: programExit(); break;
  148.         }
  149.         programMenu();
  150.     }
  151.    
  152.     private static void programMenu() {
  153.         System.out.println("\n.: PROGRAM MENU :."
  154.                          + "\n 1. Add Data"
  155.                          + "\n 2. Add Data at First"
  156.                          + "\n 3. Add Data at Last"
  157.                          + "\n 4. Add Data at N Index"
  158.                          + "\n 5. Remove Data at N Index"
  159.                          + "\n 6. Remove Data at First"
  160.                          + "\n 7. Remove Data at Last"
  161.                          + "\n 8. Remove Data by Data Content"
  162.                          + "\n 9. About Program"
  163.                          + "\n10. Program Exit");
  164.         programSwitcher();
  165.     }
  166.    
  167.     public static void main(String[] args) {
  168.         programTitle();
  169.         programMenu();
  170.     }
  171. }
  172.  
Add Comment
Please, Sign In to add comment