Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Scanner;
- public class Main {
- public static ArrayList<Integer> getInputFromUser() throws Exception {
- System.out.println("Getting user input..");
- ArrayList<Integer> numbers = new ArrayList<Integer>();
- Scanner scanner = new Scanner(System.in);
- int maxNumbersAllowed = 10;
- while(numbers.size() != maxNumbersAllowed) {
- print("\nTotal Items: " + numbers.size() + " | Left: " + (maxNumbersAllowed - numbers.size()));
- print("Enter the integer: ");
- int item = scanner.nextInt();
- numbers.add(item);
- }
- if (numbers.isEmpty()) {
- throw new Exception("The myNumberAL is empty");
- }
- return numbers;
- }
- public static ArrayList<Integer> bubbleSort(ArrayList<Integer> items) {
- print("\nSorting array using bubbleSort method..");
- int size = items.size() - 1;
- for (int i = 0; i < size; i++) {
- for (int j = 0; j < size - i; j++) {
- if (items.get(j) > items.get(j + 1)) {
- int tmp = items.get(j);
- items.set(j, items.get(j + 1));
- items.set(j + 1, tmp);
- }
- }
- }
- return items;
- }
- public static void binarySearch(ArrayList<Integer> items, int target) {
- print("\nSearching " + target + " in myNumberAL..");
- int first = 0;
- int size = items.size();
- int last = size - 1;
- int mid = (first + last) / 2;
- while (first <= last) {
- if (items.get(mid) < target) {
- first = mid + 1;
- }
- if (items.get(mid) == target) {
- print("Element was found at index of " + mid);
- break;
- }
- if (items.get(mid) > target) {
- last = mid - 1;
- }
- mid = (first + last) / 2;
- }
- if (first > last) {
- print("Sorry, the element cannot be found in myNumberAL");
- }
- }
- public static void main(String args[]) throws Exception {
- Scanner scanner = new Scanner(System.in);
- ArrayList<Integer> myNumberAL = getInputFromUser();
- print("\nCurrent myNumberAL: " + myNumberAL);
- myNumberAL = bubbleSort(myNumberAL);
- print("Sorted myNumberAL: " + myNumberAL);
- print("\nEnter the number to search: ");
- int target = scanner.nextInt();
- binarySearch(myNumberAL, target);
- }
- public static void print(Object value) {
- System.out.println(value);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment