amlxv

light

Nov 15th, 2022 (edited)
1,101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5.  
  6.     public static ArrayList<Integer> getInputFromUser() throws Exception {
  7.         System.out.println("Getting user input..");
  8.  
  9.         ArrayList<Integer> numbers = new ArrayList<Integer>();
  10.         Scanner scanner = new Scanner(System.in);
  11.  
  12.         int maxNumbersAllowed = 10;
  13.  
  14.         while(numbers.size() != maxNumbersAllowed) {
  15.             print("\nTotal Items: " + numbers.size() + "  |  Left: " + (maxNumbersAllowed - numbers.size()));
  16.             print("Enter the integer: ");
  17.  
  18.             int item = scanner.nextInt();
  19.             numbers.add(item);
  20.         }
  21.  
  22.         if (numbers.isEmpty()) {
  23.             throw new Exception("The myNumberAL is empty");
  24.         }
  25.  
  26.         return numbers;
  27.     }
  28.  
  29.     public static ArrayList<Integer> bubbleSort(ArrayList<Integer> items) {
  30.         print("\nSorting array using bubbleSort method..");
  31.  
  32.         int size = items.size() - 1;
  33.  
  34.         for (int i = 0; i < size; i++) {
  35.             for (int j = 0; j < size - i; j++) {
  36.                 if (items.get(j) > items.get(j + 1)) {
  37.                     int tmp = items.get(j);
  38.                     items.set(j, items.get(j + 1));
  39.                     items.set(j + 1, tmp);
  40.                 }
  41.             }
  42.         }
  43.  
  44.         return items;
  45.     }
  46.  
  47.     public static void binarySearch(ArrayList<Integer> items, int target) {
  48.         print("\nSearching " + target + " in myNumberAL..");
  49.  
  50.         int first = 0;
  51.         int size = items.size();
  52.         int last = size - 1;
  53.         int mid = (first + last) / 2;
  54.  
  55.         while (first <= last) {
  56.             if (items.get(mid) < target) {
  57.                 first = mid + 1;
  58.             }
  59.  
  60.             if (items.get(mid) == target) {
  61.                 print("Element was found at index of " + mid);
  62.                 break;
  63.             }
  64.  
  65.             if (items.get(mid) > target) {
  66.                 last = mid - 1;
  67.             }
  68.  
  69.             mid = (first + last) / 2;
  70.         }
  71.  
  72.         if (first > last) {
  73.             print("Sorry, the element cannot be found in myNumberAL");
  74.         }
  75.     }
  76.  
  77.     public static void main(String args[]) throws Exception {
  78.  
  79.         Scanner scanner = new Scanner(System.in);
  80.  
  81.         ArrayList<Integer> myNumberAL = getInputFromUser();
  82.         print("\nCurrent myNumberAL: " + myNumberAL);
  83.  
  84.         myNumberAL = bubbleSort(myNumberAL);
  85.         print("Sorted myNumberAL: " + myNumberAL);
  86.  
  87.         print("\nEnter the number to search: ");
  88.         int target = scanner.nextInt();
  89.  
  90.         binarySearch(myNumberAL, target);
  91.     }
  92.  
  93.     public static void print(Object value) {
  94.         System.out.println(value);
  95.     }
  96.  
  97. }
  98.  
Advertisement
Add Comment
Please, Sign In to add comment