Skip to content

Instantly share code, notes, and snippets.

@whitesoundcl
Last active October 25, 2022 22:14
Show Gist options
  • Save whitesoundcl/3869a0bcd394e71028e8582704cf570c to your computer and use it in GitHub Desktop.
Save whitesoundcl/3869a0bcd394e71028e8582704cf570c to your computer and use it in GitHub Desktop.
Clase Main del ejercicio de ayudantía en java utilizando arraylist y programación orientada a objetos (POO)
/**
Ejemplo de CRUD almacenando los objetos en un ArrayList
Autor: WhitesoundCL
*/
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// utilizando el objeto entrada obtendremos lo que el usuario ingrese por consola.
Scanner entrada = new Scanner(System.in);
// Creamos la lista en dónde serán almacenados los vehiculos:
ArrayList<Vehiculo> listaVehiculos = new ArrayList<>();
// El while será ejecutado hasta que salir sea TRUE.
boolean salir = false;
while (!salir) {
// Le indicamos al usuario cuales son sus opciones:
System.out.println(" INGRESE LA OPCION ");
System.out.println(" 1 - crear vehiculo ");
System.out.println(" 2 - Listar vehiculos ingresados");
System.out.println(" 3 - Eliminar vehiculo ");
System.out.println(" 4 - Modificar vehiculo ");
System.out.println(" 0 - Salir ");
// Obtenemos el numero ingresado por el usuario en la consola:
int opcion = Integer.parseInt(entrada.nextLine());
// Según el número que el usuario ingreso en la consola se ejecutará el "case" correspondiente.
switch(opcion) {
case 1: // "case" Ingresar nuevo vehiculo
// Instanciamos un vehiculo vacio (Sin atributos)
Vehiculo a = new Vehiculo();
System.out.println("Ingrese patente del vehiculo:");
// Obtenemos la patente que el usuario escribió y la guardamos en el vehiculo.
a.setPatente(entrada.nextLine());
System.out.println("Ingrese marca del vehiculo: ");
// De la misma forma, guardamos la marca
a.setMarca(entrada.nextLine());
System.out.println("Ingrese color: ");
// guardamos el color que el usuario ingresó
a.setColor(entrada.nextLine());
System.out.println("Litros de bencina");
// Y guardamos los litros de bencina
a.setBencina(Integer.parseInt(entrada.nextLine()));
// Este paso es fundamental, tomamos el vehiculo (En este caso definido con la variable a),
// Y lo guardamos en la lista de vehiculos utilizando el método de la lista .add(a);
listaVehiculos.add(a);
// Le avisamos al usuario del vehiculo creado
System.out.println("VEHICULO CREADO: ");
System.out.println("Patente " + a.getPatante());
System.out.println("Marca " + a.getMarca());
System.out.println("Color " + a.getColor());
break;
case 2: // Listar todos los vehiculos ingresados en la lista:
// el for va a recorrer todos los elementos que estén almacenados en la lista.
for(int i = 0; i < listaVehiculos.size(); i++){ // listavehiculos.size() Permite ver cuantos elementos hay guardados.
System.out.println("Auto: " + (i + 1));
// Para obtener un elemento de la lista, utilizamos .get():
Vehiculo auto = listaVehiculos.get(i);
System.out.println("patente: " + auto.getPatante());
System.out.println("Marca: " + auto.getMarca());
System.out.println("Color: " + auto.getColor());
}
break;
case 3: // ELiminar vehiculo de la lista
System.out.println("Ingreser la patente del vehiculo a eliminar: ");
String patente = entrada.nextLine();
for (int i = 0; i < listaVehiculos.size(); i++) {
Vehiculo auto = listaVehiculos.get(i);
// buscamos cual de las patentes en la lista coincide con lo que el usuario escribió:
if (patente.equals(auto.getPatante())) {
// Eliminamos un elemento de la lista utilizando .remove()
listaVehiculos.remove(i);
System.out.println("Vehiculo eliminado");
}
}
break;
case 4: // Modificar vehiculo:
System.out.println(" Ingrese la patente del vehiculo a mdificar");
patente = entrada.nextLine();
// de nuevo, en síntesis lo que sucede acá es que vamos a buscar cual de
// todas las patentes de los vehiculos coincide con la que el usuario ingresó,
// Luego de esto procederemos a cambiar el color y la marca del vehiculo
// según lo que el usuario escriba.
for (int i = 0; i < listaVehiculos.size(); i++) {
Vehiculo auto = listaVehiculos.get(i);
if (patente.equals(auto.getPatante())) {
System.out.println("marca: " + auto.getMarca());
System.out.println("Color: " + auto.getColor());
System.out.println("Ingrese nueva marca: ");
String marca = entrada.nextLine();
System.out.println("Ingrese nuevo color: ");
String color = entrada.nextLine();;
auto.setColor(color);
auto.setMarca(marca);
}
}
break;
case 0:// "case" Salir del programa
salir = true;
System.out.println("Saliendo del programa");
break;
default: // En caso de que el numero ingresado no corresponda a ningún "case"
System.out.println("Opcion invalida!!!!!!!");
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment