import [Link].
ArrayList;
import [Link];
import [Link];
import [Link];
class Vehiculo {
String marca;
String modelo;
int año;
String color;
double costo;
public Vehiculo(String marca, String modelo, int año, String color, double
costo) {
[Link] = marca;
[Link] = modelo;
this.año = año;
[Link] = color;
[Link] = costo;
}
}
public class InventarioVehiculos {
public static void main(String[] args) {
List<Vehiculo> inv = new ArrayList<>();
Scanner sc = new Scanner([Link]);
// Ingreso de datos de vehículos en el inventario
for (int i = 0; i < 3; i++) {
Vehiculo v = ingresarVehiculo(sc);
agregarVehiculo(inv, v);
}
// Buscar vehículos por año
buscarPorAñoEImprimir(inv, sc);
// Buscar vehículos por color
buscarPorColorEImprimir(inv, sc);
// Mostrar datos del vehículo con mayor costo
mostrarVehiculoMayorCosto(inv);
// Cerrar el scanner
[Link]();
}
public static void agregarVehiculo(List<Vehiculo> inv, Vehiculo v) {
[Link](v);
}
public static void buscarPorAñoEImprimir(List<Vehiculo> inv, Scanner sc) {
[Link]("Ingrese el año a buscar: ");
int añoBuscado = [Link]();
List<Vehiculo> vehiculosAño = buscarPorAño(inv, añoBuscado);
imprimirResultadoBusqueda("vehículos", "año", añoBuscado,
vehiculosAñ[Link]());
}
public static void buscarPorColorEImprimir(List<Vehiculo> inv, Scanner sc) {
[Link]("Ingrese el color a buscar: ");
[Link]();
String colorBuscado = [Link]();
List<Vehiculo> vehiculosColor = buscarPorColor(inv, colorBuscado);
imprimirResultadoBusqueda("vehículos", "color", colorBuscado,
[Link]());
}
public static void mostrarVehiculoMayorCosto(List<Vehiculo> inv) {
List<Vehiculo> vehiculosMaxCosto = vehiculoMayorCosto(inv);
if (![Link]()) {
[Link]("\nDatos del vehículo con mayor costo:");
imprimirListaVehiculos(vehiculosMaxCosto);
} else {
[Link]("\nNo hay vehículos en el inventario.");
}
}
public static Vehiculo ingresarVehiculo(Scanner sc) {
[Link]("Marca: ");
String marca = [Link]();
[Link]("Modelo: ");
String modelo = [Link]();
[Link]("Año: ");
int año = [Link]();
[Link]();
[Link]("Color: ");
String color = [Link]();
[Link]("Costo: ");
double costo = [Link]();
return new Vehiculo(marca, modelo, año, color, costo);
}
public static List<Vehiculo> buscarPorAño(List<Vehiculo> inv, int año) {
List<Vehiculo> vehiculosAño = new ArrayList<>();
for (Vehiculo v : inv) {
if (v.año == año) {
vehiculosAñ[Link](v);
}
}
return vehiculosAño;
}
public static List<Vehiculo> buscarPorColor(List<Vehiculo> inv, String color) {
List<Vehiculo> vehiculosColor = new ArrayList<>();
for (Vehiculo v : inv) {
if ([Link](color)) {
[Link](v);
}
}
return vehiculosColor;
}
public static List<Vehiculo> vehiculoMayorCosto(List<Vehiculo> inv) {
if ([Link]()) {
return [Link]();
}
double maxCosto = Double.MIN_VALUE;
List<Vehiculo> vehiculosMaxCosto = new ArrayList<>();
for (Vehiculo v : inv) {
if ([Link] > maxCosto) {
maxCosto = [Link];
[Link]();
[Link](v);
} else if ([Link] == maxCosto) {
[Link](v);
}
}
return vehiculosMaxCosto;
}
public static void imprimirResultadoBusqueda(String tipo, String criterio,
Object valor, int cantidad) {
[Link]("Se encontraron " + cantidad + " " + tipo + " con " +
criterio + " " + valor + ".");
}
public static void imprimirListaVehiculos(List<Vehiculo> vehiculos) {
for (Vehiculo v : vehiculos) {
[Link]("Marca: " + [Link] + ", Modelo: " + [Link] + ",
Año: " + v.año +
", Color: " + [Link] + ", Costo: " + [Link]);
}
}
}