Cześć. Borykam się z moim błędnym nazewnictwem bądź nieumiejętnością zwrócenia.
Mam 4 metody, 2 które zwracają opcję menu pracownika bądź użytkownika i dwie, które zwracają cały case
pracownika bądź użytkownika.
Gdybym w metodach getWorkerOptions
czy `getClientOptions' wykonywał jakieś działa to wynik mógłbym sobie przypisac do zmiennej i ten wynik po prostu zwrócić, a w moim przypkadu jak to zrobić?
Może nazywam błędnie metody?
package CarRental;
import java.sql.SQLException;
import java.util.InputMismatchException;
import java.util.Scanner;
import CarRental.DataGetter.ClientDataGetter;
import CarRental.DataGetter.WorkerDataGetter;
public class CarRentalEngine {
private int option;
private Scanner input = new Scanner(System.in);
private CarRentalOptions carRentalOptions = new CarRentalOptions();
private ClientDataGetter clientDataGetter = new ClientDataGetter();
private WorkerDataGetter workerDataGetter = new WorkerDataGetter();
CarRentalEngine() throws SQLException {
}
void startCarRental() throws SQLException {
System.out.println("Who are you?\n1. Customer\n2. Worker");
try {
switch (input.nextInt()) {
case 1: {
getClientCase();
break;
}
case 2:
getWorkerCase();
break;
}
} catch (InputMismatchException e) {
System.err.println("Your input is wrong!");
}
}
private void getClientOptions(int option) throws SQLException {
if (option >= 1 && option <= 5) {
switch (option) {
case 1:
carRentalOptions.rentACar(clientDataGetter.rentACar());
break;
case 2:
carRentalOptions.returnACar(clientDataGetter.returnACar());
break;
case 3:
carRentalOptions.populateTableRent(clientDataGetter.populateTableRent());
break;
case 4:
carRentalOptions.populateTableViewCars(clientDataGetter.populateTableViewCars());
break;
case 5:
break;
}
}
}
private void getWorkerOptions(int option) throws SQLException {
if (option >= 1 && option <= 6) {
switch (option) {
case 1:
carRentalOptions.populateTableViewClients();
break;
case 2:
carRentalOptions.populateTableViewCars(clientDataGetter.populateTableViewCars());
break;
case 3:
carRentalOptions.makeCarAvailable(workerDataGetter.makeCarAavailable());
break;
case 4:
carRentalOptions.makeCarUnavailable(workerDataGetter.makeCarUnavailable());
break;
case 5:
carRentalOptions.createNewCar(workerDataGetter.createCar());
case 6:
break;
}
}
}
private void getClientCase() throws SQLException {
System.out.println("1. Have you inputted your data before?\nN/Y: ");
if (input.next().toUpperCase().equals("N")) {
carRentalOptions.createNewCustomer(clientDataGetter.createClient());
System.out.println("Now you have your unique number clinet, use it where it is required!");
} else {
do {
System.out.println("What do you want to do?");
System.out.println("1. Rent a car\n2. Return a car\n3. Populate rented cars\n4. Populate cars\n5. Quit");
option = input.nextInt();
getClientOptions(option);
}
while (option != 5);
}
}
private void getWorkerCase() throws SQLException {
do {
System.out.println("What do you want to do?");
System.out.println("1. Populate clients\n2. Populate cars\n3. Make car available\n4. Make car unavailable\n5. Insert new car\n6. Quit");
option = input.nextInt();
getWorkerOptions(option);
}
while (option != 6);
}
}