Skip to the content.

Homework_ipynb_2_

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class PhoneBook {
    public static void main(String[] args) {
        // Create a HashMap to store names and phone numbers
        Map<String, String> phoneBook = new HashMap<>();

        // Add at least 5 entries
        phoneBook.put("Alice", "123-456-7890");
        phoneBook.put("Bob", "987-654-3210");
        phoneBook.put("Charlie", "555-234-5678");
        phoneBook.put("David", "444-888-2222");
        phoneBook.put("Eve", "666-777-9999");

        // Scanner for user input
        Scanner scanner = new Scanner(System.in);
        String name;

        // Allow multiple lookups until user quits
        while (true) {
            System.out.print("Enter a name to search (or type 'quit' to exit): ");
            name = scanner.nextLine().trim();

            if (name.equalsIgnoreCase("quit")) {
                break;
            }

            // Search for the name in the phone book
            String phoneNumber = phoneBook.get(name);
            if (phoneNumber != null) {
                System.out.println("Phone number for " + name + ": " + phoneNumber);
            } else {
                System.out.println("Name not found in the phone book.");
            }
        }

        // Print the phone book in sorted order (optional)
        System.out.println("\nPhone Book (Sorted by Name):");
        Map<String, String> sortedPhoneBook = new TreeMap<>(phoneBook);
        for (Map.Entry<String, String> entry : sortedPhoneBook.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }

        // Close scanner
        scanner.close();
    }
}
PhoneBook.main(null);
Enter a name to search (or type 'quit' to exit): Phone number for David: 444-888-2222
Enter a name to search (or type 'quit' to exit): Name not found in the phone book.
Enter a name to search (or type 'quit' to exit): Phone number for Charlie: 555-234-5678
Enter a name to search (or type 'quit' to exit): 
Phone Book (Sorted by Name):
Alice : 123-456-7890
Bob : 987-654-3210
Charlie : 555-234-5678
David : 444-888-2222
Eve : 666-777-9999

v popcorn hack v

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

public class ListExperiment {
    public static void main(String[] args) {
        // Create an ArrayList and add at least 10 integers
        List<Integer> numbers = new ArrayList<>();
        Collections.addAll(numbers, 12, 45, 8, 33, 27, 50, 18, 99, 64, 72);
        
        // Sort the list in ascending order
        Collections.sort(numbers);
        
        // Filter out odd numbers and collect even numbers
        List<Integer> evenNumbers = numbers.stream()
                                           .filter(n -> n % 2 == 0)
                                           .collect(Collectors.toList());
        
        // Print sorted even numbers
        System.out.println("Sorted even numbers: " + evenNumbers);

        // Optional: Display only the odd numbers
        List<Integer> oddNumbers = numbers.stream()
                                          .filter(n -> n % 2 != 0)
                                          .collect(Collectors.toList());
        System.out.println("Sorted odd numbers: " + oddNumbers);

        // Find and print the largest even number
        if (!evenNumbers.isEmpty()) {
            int largestEven = Collections.max(evenNumbers);
            System.out.println("Largest even number: " + largestEven);
        } else {
            System.out.println("No even numbers found.");
        }
    }
}
ListExperiment.main(null);
Sorted even numbers: [8, 12, 18, 50, 64, 72]
Sorted odd numbers: [27, 33, 45, 99]
Largest even number: 72

v popcorn hack v

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.List;
import java.util.ArrayList;

public class DequeExperiment {
    public static void main(String[] args) {
        // Create an ArrayDeque
        Deque<String> deque = new ArrayDeque<>();

        // Add elements using addFirst() and addLast()
        deque.addFirst("Apple");
        deque.addLast("Banana");
        deque.addFirst("Cherry");
        deque.addLast("Date");
        deque.addFirst("Elderberry");
        deque.addLast("Fig");

        // Print the deque
        System.out.println("Initial Deque: " + deque);

        // Remove one element from each end
        String removedFirst = deque.removeFirst();
        String removedLast = deque.removeLast();

        // Print the deque after removals
        System.out.println("Deque after removing first (" + removedFirst + ") and last (" + removedLast + "): " + deque);

        // Optional: Convert deque to a list and print
        List<String> list = new ArrayList<>(deque);
        System.out.println("Converted List: " + list);

        // Optional: Empty the deque while printing each removed element
        System.out.println("Emptying the deque:");
        while (!deque.isEmpty()) {
            System.out.println("Removed: " + deque.pollFirst());
        }

        // Print final deque state
        System.out.println("Final Deque (should be empty): " + deque);
    }
}
DequeExperiment.main(null);
Initial Deque: [Elderberry, Cherry, Apple, Banana, Date, Fig]
Deque after removing first (Elderberry) and last (Fig): [Cherry, Apple, Banana, Date]
Converted List: [Cherry, Apple, Banana, Date]
Emptying the deque:
Removed: Cherry
Removed: Apple
Removed: Banana
Removed: Date
Final Deque (should be empty): []

v homework v

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static List<Integer> filterEvenNumbers(List<Integer> numbers) {
        List<Integer> evenNumbers = new ArrayList<>();
        for (int i = 0; i < numbers.size(); i++) {
            if (numbers.get(i) % 2 == 0) {
                evenNumbers.add(numbers.get(i));
            }
        }
        return evenNumbers;
    }

    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        for (int i = 1; i <= 10; i++) {
            numbers.add(i);
        }

        System.out.println("Input List: " + numbers);
        System.out.println("Filtered Even Numbers: " + filterEvenNumbers(numbers));
    }
}
ListExample.main(null);

Input List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Filtered Even Numbers: [2, 4, 6, 8, 10]
import java.util.HashSet;
import java.util.Set;

public class SetExample {
    public static Set<String> findIntersection(Set<String> set1, Set<String> set2) {
        Set<String> intersection = new HashSet<>();
        for (String element : set1) {
            if (set2.contains(element)) {
                intersection.add(element);
            }
        }
        return intersection;
    }

    public static void main(String[] args) {
        Set<String> set1 = new HashSet<>();
        set1.add("apple");
        set1.add("banana");
        set1.add("cherry");
        set1.add("date");

        Set<String> set2 = new HashSet<>();
        set2.add("banana");
        set2.add("date");
        set2.add("fig");
        set2.add("grape");

        System.out.println("Set1: " + set1);
        System.out.println("Set2: " + set2);
        System.out.println("Intersection: " + findIntersection(set1, set2));
    }
}
SetExample.main(null);
import java.util.ArrayDeque;
import java.util.Deque;

public class DequeExample {
    public static void main(String[] args) {
        Deque<String> customerLine = new ArrayDeque<>();

        // Step 1: Add customers to the end
        customerLine.addLast("Alice");
        customerLine.addLast("Bob");
        customerLine.addLast("Charlie");
        customerLine.addLast("Diana");

        System.out.println("Initial line after adding 4 customers (end): " + customerLine);

        // Step 2: Add VIP customer at the front
        customerLine.addFirst("VIP1");
        System.out.println("After VIP arrival (added at front): " + customerLine);

        // Step 3: Remove the front customer
        customerLine.removeFirst();
        System.out.println("After serving the customer at the front (removed): " + customerLine);

        // Step 4: Inspect front and back customers
        System.out.println("Current front of the line: " + customerLine.peekFirst());
        System.out.println("Current back of the line: " + customerLine.peekLast());

        // Step 5: Print size
        System.out.println("Total number of customers waiting: " + customerLine.size());
    }
}
DequeExample.main(null);
Initial line after adding 4 customers (end): [Alice, Bob, Charlie, Diana]
After VIP arrival (added at front): [VIP1, Alice, Bob, Charlie, Diana]
After serving the customer at the front (removed): [Alice, Bob, Charlie, Diana]
Current front of the line: Alice
Current back of the line: Diana
Total number of customers waiting: 4