Last active
October 25, 2022 22:14
-
-
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)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
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