Я не могу сосредоточиться на полезном способе использования классов. Чтобы проиллюстрировать мою проблему: я хочу написать программу, которая позволит мне создавать списки покупок и делить записи по категориям. Поэтому я бы:
(шаг 1) - создать список с продуктами и категориями продуктов, к которым они принадлежат, возможно, со списком массивов
(шаг 2), чтобы пользователь мог выбрать, какой супермаркет он переходит и распечатывает список, разделенный на категории, которые расположены в разных порядках, в зависимости от того, какой супермаркет пользователь выбрал
(и еще пару вариантов)
Теперь все, что у меня есть написано до сих пор в Java было ограничено одним классом и только одним классом. Но мне было предложено, что письмо в нескольких классах было бы полезно. Как я уже говорил, я не могу обернуть голову, каким образом это будет иметь смысл в этом примере. Может быть, кто-то с лучшим пониманием может дать мне быстрый совет?
Вот как я бы справился с этим в одном классе (я взял реальный код для удобства чтения, и поскольку реальная реализация на самом деле не имеет значения для этого вопрос, который я понял):
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
ArrayList<String> shoppingList = new ArrayList<>();
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
}
private static void spellInstructions(){
System.out.println(" ");
System.out.println("Choose one of the following options. Press ");
System.out.println(" ");
System.out.println("\t\t" + "(1)" + "\t--\t" + "to add an item to list");
System.out.println("\t\t" + "(2)" + "\t--\t" + "to display your list");
System.out.println("\t\t" + "(3)" + "\t--\t" + "to choose a supermarket");
System.out.println("\t\t" + "(4)" + "\t--\t" + "to replace item on your list");
System.out.println("\t\t" + "(5)" + "\t--\t" + "to delete item from your list");
System.out.println("\t\t" + "(6)" + "\t--\t" + "to search for an item on your list");
System.out.println("\t\t" + "(7)" + "\t--\t" + "to qoit this application");
getUserInput();
}
private static void getUserInput(){}
private static void addItemToList(){}
private static void displayList(){}
private static void chooseSupermarket(){}
private static void replaceItem(){}
private static void deleteItem(){}
private static void searchItem(){}
private static void quitApp(){}
}