Filter all products in Java [closed]

Help give the user the ability to select sorting, cost limits (from “price” to “price”), rating limits (from “rating” to “rating”)

import java.util.ArrayList;
import java.util.Scanner;

class Product {
    String name;
    double price;
    int rating;

    public Product(String name, double price, int rating) {
        this.name = name;
        this.price = price;
        this.rating = rating;
    }
}

class Category {
    String name;
    ArrayList<Product> products;

    public Category(String name) {
        this.name = name;
        this.products = new ArrayList<>();
    }

    public void addProduct(Product product) {
        products.add(product);
    }
}

class Basket {
    ArrayList<Product> items;

    public Basket() {
        this.items = new ArrayList<>();
    }

    public void addProduct(Product product) {
        items.add(product);
    }

    public void removeProduct(Product product) {
        items.remove(product);
    }

    public double totalCost() {
        double total = 0;
        for (Product product : items) {
            total += product.price;
        }
        return total;
    }
}

class User {
    String username;
    String password;
    Basket basket;

    public User(String username, String password) {
        this.username = username;
        this.password = password;
        this.basket = new Basket();
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        User admin = new User("admin", "admin");
        User user = new User("user", "user");

        while (true) {
            System.out.println("Введите логин:");
            String login = scanner.nextLine();
            System.out.println("Введите пароль:");
            String password = scanner.nextLine();
            if (login.equals(admin.username) && password.equals(admin.password)) {
                System.out.println("Вы вошли как администратор.");
                System.out.println("Что вы хотите сделать? (добавить товар / добавить категорию / выйти)");
                String adminChoice = scanner.nextLine();
                if (adminChoice.equalsIgnoreCase("добавить товар")) {
                    System.out.println("Как называется товар?");
                    String productName = scanner.nextLine();
                    System.out.println("Сколько оно стоит?");
                    double productPrice = Double.parseDouble(scanner.nextLine());
                    System.out.println("Какой рейтинг у товара?");
                    int productRating = Integer.parseInt(scanner.nextLine());
                    Product newProduct = new Product(productName, productPrice, productRating);
                    System.out.println("Спасибо вам за добавление товара!");
                    return;
                } else if (adminChoice.equalsIgnoreCase("добавить категорию")) {
                    System.out.println("Как называется категория?");
                    String categoryName = scanner.nextLine();
                    Category newCategory = new Category(categoryName);
                    System.out.println("Спасибо вам за добавление категории!");
                    return;
                } else if (adminChoice.equalsIgnoreCase("выйти")) {
                    System.out.println("До свидания!");
                    return;
                } else {
                    System.out.println("Неверный выбор.");
                }
            } else if (login.equals(user.username) && password.equals(user.password)) {
                System.out.println("Вы вошли как пользователь.");
                System.out.println("Хотите добавить фильтр? (да/нет)");
                String filterChoice = scanner.nextLine();
                if (filterChoice.equalsIgnoreCase("да")) {
                return;
                }
                break;
            } else {
                System.out.println("Неправильный логин или пароль. Попробуйте еще раз.");
            }
        }

        Product reebokTShirt = new Product("Reebok футболка", 100, 7);
        Product pumaTShirt = new Product("Puma футболка", 80, 8);
        Product newBalanceTShirt = new Product("New Balance футболка", 90, 6);
        Product calvinkleinTShirt = new Product("Calvin Klein футболка", 120, 9);
        Product vansTShirt = new Product("Vans футболка", 110, 8);

        Product reebokJacket = new Product("Reebok кофта", 150, 7);
        Product pumaJacket = new Product("Puma кофта", 130, 8);
        Product newBalanceJacket = new Product("New Balance кофта", 140, 6);
        Product calvinkleinJacket = new Product("Calvin Klein кофта", 170, 9);
        Product vansJacket = new Product("Vans кофта", 160, 5);

        Product reebokPants = new Product("Reebok штаны", 120, 7);
        Product pumaPants = new Product("Puma штаны", 100, 8);
        Product newBalancePants = new Product("New Balance штаны", 110, 6);
        Product calvinkleinPants = new Product("Calvin Klein штаны", 140, 9);
        Product vansPants = new Product("Vans штаны", 130, 5);

        Product nikeShoes = new Product("Nike кроссовки", 200, 8);
        Product adidasShoes = new Product("Adidas кроссовки", 180, 7);
        Product converseShoes = new Product("Converse кроссовки", 150, 6);
        Product vansShoes = new Product("Vans кроссовки", 170, 9);
        Product pumaShoes = new Product("Puma кроссовки", 160, 5);

        Product calvinKleinUnderwear = new Product("Calvin Klein трусы", 30, 8);
        Product armaniUnderwear = new Product("Armani трусы", 35, 7);
        Product tommyHilfigerUnderwear = new Product("Tommy Hilfiger трусы", 25, 9);
        Product hugoBossUnderwear = new Product("Hugo Boss трусы", 40, 6);
        Product vansUnderwear = new Product("Vans трусы", 30, 5);

        Product nikesweater = new Product("Nike куртка", 180, 8);
        Product adidassweater = new Product("Adidas куртка", 160, 7);
        Product pumasweater = new Product("Puma куртка", 140, 6);
        Product theNorthFacesweater = new Product("The North Face куртка", 200, 9);
        Product vanssweater = new Product("Vans куртка", 190, 5);

        Category shoes = new Category("Обувь");
        shoes.addProduct(nikeShoes);
        shoes.addProduct(adidasShoes);
        shoes.addProduct(converseShoes);
        shoes.addProduct(vansShoes);
        shoes.addProduct(pumaShoes);

        Category underwear = new Category("Трусы");
        underwear.addProduct(calvinKleinUnderwear);
        underwear.addProduct(armaniUnderwear);
        underwear.addProduct(tommyHilfigerUnderwear);
        underwear.addProduct(hugoBossUnderwear);
        underwear.addProduct(vansUnderwear);

        Category sweater = new Category("Куртки");
        sweater.addProduct(nikesweater);
        sweater.addProduct(adidassweater);
        sweater.addProduct(pumasweater);
        sweater.addProduct(theNorthFacesweater);
        sweater.addProduct(vanssweater);

        Category tShirts = new Category("Футболки");
        tShirts.addProduct(reebokTShirt);
        tShirts.addProduct(pumaTShirt);
        tShirts.addProduct(newBalanceTShirt);
        tShirts.addProduct(calvinkleinTShirt);
        tShirts.addProduct(vansTShirt);

        Category jackets = new Category("Кофты");
        jackets.addProduct(reebokJacket);
        jackets.addProduct(pumaJacket);
        jackets.addProduct(newBalanceJacket);
        jackets.addProduct(calvinkleinJacket);
        jackets.addProduct(vansJacket);

        Category pants = new Category("Штаны");
        pants.addProduct(reebokPants);
        pants.addProduct(pumaPants);
        pants.addProduct(newBalancePants);
        pants.addProduct(calvinkleinPants);
        pants.addProduct(vansPants);


        System.out.println("Выберите товары:");
        int counter = 1;
        System.out.println(tShirts.name.toUpperCase());
        for (Product product : tShirts.products) {
            System.out.println(counter + ". " + product.name + " - Рейтинг: " + product.rating);
            counter++;
        }
        System.out.
                println(jackets.name.toUpperCase());
        for (Product product : jackets.products) {
            System.out.println(counter + ". " + product.name + " - Рейтинг: " + product.rating);
            counter++;
        }
        System.out.println(pants.name.toUpperCase());
        for (Product product : pants.products) {
            System.out.println(counter + ". " + product.name + " - Рейтинг: " + product.rating);
            counter++;
        }
        System.out.println(sweater.name.toUpperCase());
        for (Product product : sweater.products) {
            System.out.println(counter + ". " + product.name + " - Рейтинг: " + product.rating);
            counter++;
        }
        System.out.println(underwear.name.toUpperCase());
        for (Product product : underwear.products) {
            System.out.println(counter + ". " + product.name + " - Рейтинг: " + product.rating);
            counter++;
        }
        System.out.println(shoes.name.toUpperCase());
        for (Product product : shoes.products) {
            System.out.println(counter + ". " + product.name + " - Рейтинг: " + product.rating);
            counter++;
        }

        System.out.println("Введите номера выбранных товаров через пробел:");
        String[] choices = scanner.nextLine().split(" ");
        for (String choice : choices) {
            int productChoice = Integer.parseInt(choice);
            if (productChoice < 1 || productChoice > counter) {
                System.out.println("Неверный выбор товара.");
                return;
            }
            if (productChoice <= tShirts.products.size()) {
                Product chosenProduct = tShirts.products.get(productChoice - 1);
                user.basket.addProduct(chosenProduct);
            } else if (productChoice <= tShirts.products.size() + jackets.products.size()) {
                Product chosenProduct = jackets.products.get(productChoice - tShirts.products.size() - 1);
                user.basket.addProduct(chosenProduct);
            } else if (productChoice <= tShirts.products.size() + jackets.products.size() + pants.products.size()) {
                Product chosenProduct = pants.products.get(productChoice - tShirts.products.size() - jackets.products.size() - 1);
                user.basket.addProduct(chosenProduct);
            } else if (productChoice <= tShirts.products.size() + jackets.products.size() + pants.products.size() + sweater.products.size()) {
                Product chosenProduct = sweater.products.get(productChoice - tShirts.products.size() - jackets.products.size() - pants.products.size() - 1);
                user.basket.addProduct(chosenProduct);
            } else if (productChoice <= tShirts.products.size() + jackets.products.size() + pants.products.size() + sweater.products.size() + underwear.products.size()) {
                Product chosenProduct = underwear.products.get(productChoice - tShirts.products.size() - jackets.products.size() - pants.products.size() - sweater.products.size() - 1);
                user.basket.addProduct(chosenProduct);
            } else {
                Product chosenProduct = shoes.products.get(productChoice - tShirts.products.size() - jackets.products.size() - pants.products.size() - sweater.products.size() - underwear.products.size() - 1);
                user.basket.addProduct(chosenProduct);

            }
        }

        System.out.println("Корзина пользователя " + user.username + ":");
        for (Product item : user.basket.items) {
            System.out.println("- " + item.name + " - $" + item.price);
        }
        System.out.println("Общая стоимость: $" + user.basket.totalCost());
        System.out.println("Вы хотите купить эти товары? (да/нет)");
        String choice = scanner.nextLine();
        if (choice.equalsIgnoreCase("да")) {
            System.out.println("Спасибо что купили наш товар!");
        } else {
            System.out.println("Вы хотите удалить эти товары из корзины? (да/нет)");
            String removeChoice = scanner.nextLine();
            if (removeChoice.equalsIgnoreCase("да")) {
                user.basket.items.clear();
                System.out.println("Товары удалены из корзины.");
            } else {
                System.out.println("Общая стоимость: $" + user.basket.totalCost());
            }
        }

        scanner.close();
    }
}


I tried to add this code but it didn't work

public static ArrayList<Product> filter And Sort(User user, double minPrice, double maxPrice, int minRating, int maxRating) {
        ArrayList<Product> filtered Products = new ArrayList<>();
        for (Category category : categories) {
            filtered Products.add All(category.filter By Price(minPrice, maxPrice));
            filtered Products.add All(category.filter By Rating(minRating, maxRating));
        }
        return filtered Products;
    }

    public static void show All Products(User user) {
        // Display of all products
    }

    public static void show Filtered Products(ArrayList<Product> filtered Products) {
        // Displaying filtered products
    }
}

gggggggggggggggfhfhghfhfhghfhfhfghfhghfghghhhhh/enr;gjlsnrg;uzergnfiPWRJN;gjnzrwsgluidfkh;sjdfngydrsihlu;dozfihndlyfixzfu;oihvdgntuyfisuzfsipjcsuinhop,immgjuARGFVBYNHJ,;L’.KMNJHBYUGTFVCRDESXEDCFGVYBHNJKM,L;.’/.,LKMNHJUBYGTVFCDfvgbhnjmk,l;.’/.onhyjugtfvrdcftvgybhunjimok,l;.’/
;.,lkimnhjuygtvfrdexcfvgybhunjimko,l;.’/.,lnhjuygtfvrdcfvgbyhunjimko,l;.’/
?;.l,okimnjuhybgtvfrc