Здравствуйте, возникла такая проблема, что я не знаю как написать методы добавление элементов и их вывода, используя класс Vector. У меня есть 4 поля (colour, name, price, year), мне нужно, чтобы в методе add они записывались в класс Vector, а затем в методе print, какой-то элемент по индексу из этого вектора должен быть выведен. В main происходит выбор пункта меню, если, например, выбран 1-ый пункт, то пользователь вводит данные, а затем с помощью метода add они добавляются в Vector, а когда пользователь выводит какой-то элемент структуры, то выводится все 4 поля. Ниже основной класс и класс с полями. За помощь заранее спасибо!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;
public class vectorExample{
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
var vector = new Vector<Car>();
String colour;
String name;
String price;
int priceInt = 0;
String year;
int yearInt = 0;
boolean exit = true;
int menuItem;
String StringMenu;
String[] array;
while(exit){
System.out.println("Выберите пункт меню: ");
System.out.println("1. Ввод элемента ");
System.out.println("2. Вывод элемента");
System.out.println("3. Вывод структуры");
System.out.println("4. Выход");
StringMenu = reader.readLine();
array = StringMenu.split(" ");
if (array.length > 1 || array[0].contains("\t")) {
System.out.println("Ошибка! Введены буквы и/или пробел");
System.out.println("------------------------------------------- \n");
} else {
try {
menuItem = Integer.parseInt(array[0]);
if(menuItem == 1){
System.out.println("\n--------------------------------\n");
boolean Enter = true;
System.out.println("Введите цвет транспорта:");
colour = reader.readLine();
//colourMachine.add(colour);
System.out.println("Введите марку транспорта:");
name = reader.readLine();
//nameMachine.add(name);
while (Enter) {
System.out.println("Введите цену транспорта:");
price = reader.readLine();
priceInt = Integer.parseInt(price);
if (priceInt < 0) {
System.out.println("--------------------------------");
System.out.println("Цена не может быть отрицательной");
System.out.println("--------------------------------\n");
System.out.println("Введите цену еще раз");
Enter = true;
} else {
Enter = false;
}
}
Enter = true;
while (Enter){
System.out.println("Введите год выпуска транспорта:");
year = reader.readLine();
yearInt = Integer.parseInt(year);
if (yearInt < 0) {
System.out.println("--------------------------------");
System.out.println("Год не может быть отрицательным");
System.out.println("--------------------------------\n");
System.out.println("Введите год еще раз");
Enter = true;
} else {
Enter = false;
}
}
System.out.println("\n--------------------------------\n");
vector.add(new Car(colour, name, priceInt, yearInt));
exit = true;
} else if(menuItem == 2){
System.out.println("вывод одного элемента");
String index = reader.readLine();
int indexInt = Integer.parseInt(index);
var carFromVector = vector.get(indexInt);
System.out.println("Элемент "+ indexInt +"\n" + carFromVector);
exit = true;
} else if(menuItem == 3){
System.out.println("вывод структуры");
exit = true;
} else if(menuItem == 4){
exit = false;
}
if (menuItem < 1 || menuItem > 4) {
System.out.println("Ошибка! Вы вышли из диапазона допустимых значений");
System.out.println("-------------------------------------------\n");
exit = true;
}
} catch (NumberFormatException var14) {
System.out.println("Ошибка! Введены буквы и/или пробел1");
System.out.println("-------------------------------------------\n");
exit = true;
}
}
}
}
static class Car{
private final String colour;
private final String name;
private final int price;
private final int year;
public Car(String colour, String name, int price, int year){
this.colour = colour;
this.name = name;
this.price = price;
this.year = year;
}
}
}