Branch sync | [POO] few fixes #59

This commit is contained in:
Tiago Garcia 2023-05-04 15:45:40 +01:00 committed by GitHub
commit 4c7d002115
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 33 additions and 23 deletions

View File

@ -4,9 +4,9 @@ public enum EngineType {
FUEL, ELECTRIC;
public static EngineType fromString(String string) {
return switch (string) {
case "FUEL", "Fuel", "fuel" -> EngineType.FUEL;
case "ELECTRIC", "Electric", "electric" -> EngineType.ELECTRIC;
return switch (string.toUpperCase()) {
case "FUEL" -> FUEL;
case "ELECTRIC" -> ELECTRIC;
default -> null;
};
}

View File

@ -7,7 +7,7 @@ import java.util.Scanner;
public class Main {
private static final Scanner sin = new Scanner(System.in);
private static VehicleComp[] vehicleComps;
public static VehicleComp[] vehicleComps;
public static void main(String[] args) {
while (true) {

View File

@ -1,6 +1,8 @@
package aula08.ex1.Vehicles;
import aula08.ex1.Interfaces.IKmTravelled;
import aula08.ex1.VehicleComp;
import aula08.ex1.Main;
import utils.Validations;
import java.util.Objects;
@ -17,6 +19,13 @@ public abstract class Vehicle implements IKmTravelled {
public Vehicle(String plate, String brand, String model, int potency) {
if (!Validations.validateVehiclePlate(plate))
throw new IllegalArgumentException("Invalid plate!");
for (VehicleComp vehicleComp : Main.vehicleComps)
if (vehicleComp.getVehicleByPlate(plate) != null)
throw new IllegalArgumentException("Plate already exists!");
if (brand == null || brand.isEmpty())
throw new IllegalArgumentException("Brand must not be empty");
if (model == null || model.isEmpty())
throw new IllegalArgumentException("Model must not be empty");
if (potency <= 0)
throw new IllegalArgumentException("Potency must be positive");
this.plate = plate;

View File

@ -4,11 +4,11 @@ public enum AlimentType {
MEAT, FISH, CEREAL, VEGETABLE;
public static AlimentType fromString(String string) {
return switch (string) {
case "MEAT", "Meat", "meat" -> MEAT;
case "FISH", "Fish", "fish" -> FISH;
case "CEREAL", "Cereal", "cereal" -> CEREAL;
case "VEGETABLE", "Vegetable", "vegetable" -> VEGETABLE;
return switch (string.toUpperCase()) {
case "MEAT"-> MEAT;
case "FISH" -> FISH;
case "CEREAL" -> CEREAL;
case "VEGETABLE" -> VEGETABLE;
default -> null;
};
}

View File

@ -4,10 +4,10 @@ public enum DishType {
NORMAL, VEGAN, DIET;
public static DishType fromString(String string) {
return switch (string) {
case "NORMAL", "Normal", "normal" -> NORMAL;
case "VEGAN", "Vegan", "vegan" -> VEGAN;
case "DIET", "Diet", "diet" -> DIET;
return switch (string.toUpperCase()) {
case "NORMAL" -> NORMAL;
case "VEGAN" -> VEGAN;
case "DIET" -> DIET;
default -> null;
};
}

View File

@ -4,9 +4,9 @@ public enum FishState {
FRESH, FROZEN;
public static FishState fromString(String string) {
return switch (string) {
case "FRESH", "Fresh", "fresh" -> FRESH;
case "FROZEN", "Frozen", "frozen" -> FROZEN;
return switch (string.toUpperCase()) {
case "FRESH"-> FRESH;
case "FROZEN" -> FROZEN;
default -> null;
};
}

View File

@ -1,15 +1,15 @@
package aula08.ex2.Enums;
public enum MeatType {
COW, PORK, TURKEY, CHICKEN;
COW, PORK, TURKEY, CHICKEN, OTHER;
public static MeatType fromString(String string) {
return switch (string) {
case "COW", "Cow", "cow" -> COW;
case "PORK", "Pork", "pork" -> PORK;
case "TURKEY", "Turkey", "turkey" -> TURKEY;
case "CHICKEN", "Chicken", "chicken" -> CHICKEN;
default -> null;
return switch (string.toUpperCase()) {
case "COW" -> COW;
case "PORK" -> PORK;
case "TURKEY" -> TURKEY;
case "CHICKEN" -> CHICKEN;
default -> OTHER;
};
}
@ -20,6 +20,7 @@ public enum MeatType {
case PORK -> "PORK";
case TURKEY -> "TURKEY";
case CHICKEN -> "CHICKEN";
default -> "OTHER";
};
}
}