Simplemente espectacular!, estoy empezando mis estudios en el mundo de la programación, a parte de explicar muy bien lo haces aún mas divertido. Un saludo desde España! 👋😃
Muy buen ejercicio Lu! 👍😉Le hice algunas implementaciones y mejoras y quedó re cheto ! je aunque me llevó casi 100 líneas de código :S Aunque lo que si diferenció fue la palabra clave de repetición o salida del while que fue a elección "Desea seguir comprando pasajes? (SI / NO)". Este ejercicio se re presta para laburar con diferentes clases!!!
Yo lo la hice mucho mas larga 😅 y tambien intente que la salida en consola quede mas linda, dejo el código por aca: import java.util.Scanner; public class EJERCICIO_INTEGRADOR_MATRICES { public static void main(String[] args) { //Este escaner es solo para cargar la matriz Scanner leer = new Scanner(System.in);
byte matriz [][] = new byte[3][6];
//Recorre las filas de la matriz for (int i = 0; i < 3; i=i+1) { switch (i) { case 0: System.out.println("Ingrese los asientos disponibles a la mañana de: "); break; case 1: System.out.println("Ingrese los asientos disponibles al medio dia de: "); break; case 2: System.out.println("Ingrese los asientos disponibles a la noche de: "); default: break; } //Recorre las columnas de la matriz for (int j = 0; j < 6; j=j+1) { switch (j) { case 0: System.out.print("Rio de Janeiro: "); matriz[i][j] = leer.nextByte(); break; case 1: System.out.print("Cancun: "); matriz[i][j] = leer.nextByte(); break; case 2: System.out.print("Madrid: "); matriz[i][j] = leer.nextByte(); break; case 3: System.out.print("Roma: "); matriz[i][j] = leer.nextByte(); break; case 4: System.out.print("Milan: "); matriz[i][j] = leer.nextByte(); break; case 5: System.out.print("Iguazu: "); matriz[i][j] = leer.nextByte(); break; default: break; }
}
} System.out.print(""); System.out.println("Matriz actual:"); //Dibuja como quedaron los datos de la matriz for (int i = 0; i < matriz.length; i++) { for (int j = 0; j < matriz[i].length; j++) { System.out.print(matriz[i][j] + " "); } System.out.println(""); } System.out.print("");//Separa las 2 partes del codigo en consola // 2----------------------------------------------------------------------------------------------------- //Selecciona una POSICION de la matriz Scanner leerByte = new Scanner(System.in); Scanner leerStr = new Scanner(System.in); byte destino = 0; byte momento = 0; String pregunta = ""; do { do { System.out.println(""" Ingrese el numero del destino al que quiere ir: 1-Rio de Janeiro 2-Cancun 3-Madrid 4-Roma 5-Milan 6-Iguazu"""); destino = leerByte.nextByte(); //Destino = j. Estoy accediendo a la posicion j switch (destino) { case 1: System.out.println("Elegiste Rio de Janeiro"); break; case 2: System.out.println("Elegiste Cancun"); break; case 3: System.out.println("Elegiste Madrid"); break; case 4: System.out.println("Elegiste Roma"); break; case 5: System.out.println("Elegiste Milan"); break; case 6: System.out.println("Elegiste Iguazu"); break;
default: System.out.println("Selecciona un destino valido"); break; } } while (destino6);
do { System.out.println(""" En que momento del dia vas a viajar?: 1- Mañana 2- Medio día 3- Noche"""); momento = leerByte.nextByte(); //Momento = i. Estoy accediendo a la posicion i switch (momento) { case 1: System.out.println("Elegiste en la mañana"); break;
case 2: System.out.println("Elegiste el medio día"); break; case 3: System.out.println("Elegiste la noche"); break;
default: System.out.println("Selecciona un momento del dia valido"); break; } } while (momento>3 || momento
Gracias ah ti estoy aprendiendo muchisimooo , explicas mejor que mis docentes de la universidad JAJAJA los creditos de ser saber programar en java seran tuyos JAJA
Luisina, este ejercicio me voló la cabeza, jajaja, es excelente pude luego de varias leídas y descansos intermedios, resolverlo. Muchas gracias, ayudó a mover las neuronas en lógica. Es posible subir para que puedan corroborar y mejorar mi código subirlo en algún espacio?
Bueno yo lo hice de la siguiente forma, hasta donde lo probe funciona ( me estaba volviendo loco que no se si lo testie bien ) Pd: El programa solo te deja ingresar los asientos en la matriz 1 vez podria hacerlo para que cada vez q un usuario escoja asientos se pueda como volver a rellenar mas asientos en la matriz pero bueno nada me queme pensando :P - - - - import java.util.Scanner; public class Main { public static void main(String[] args) { //Zona variables int matrizVuelos[][] = new int[6][4]; //Grilla de destinos x dias int seleccion1, seleccion2, seleccion3; // Destino , Momento del dia , Cantidad asientos String Salir=" "; // Variable para salir del while //Ingresos por teclado Scanner teclado = new Scanner(System.in); //Para INT Scanner teclado2 = new Scanner(System.in); //Para String System.out.println("----------Programa de vuelos----------"); System.out.println("-------Se ingresan los asientos-------"); /*****Carga de asientos para los vuelos******/ //Cargamos la matriz for (int destino=0 ; destino < 6 ; destino++){ for (int tiempo=0 ; tiempo < 3 ; tiempo++){ System.out.println("Asiento ["+destino+"] Destino ["+tiempo+"]"); matrizVuelos[destino][tiempo] = teclado.nextInt(); } } /*****Usuarios pidiendo vuelos******/ while (!Salir.equalsIgnoreCase("Finish")) { System.out.println("Ingrese a que Destino desea viajar"); System.out.println("0) Rio de Janeiro -- 1) Cancun -- 2) Madrid -- 3) Roma -- 4) Milan -- 5) Iguazu"); seleccion1 = teclado.nextInt(); System.out.println("¿En que momento del dia desea viajar?"); System.out.println("0) Mañana -- 1) Medio Dia -- 2) Noche"); seleccion2 = teclado.nextInt(); System.out.println("Cuantos Asientos desea reservar?"); seleccion3 = teclado.nextInt(); /* Condicionales */ for (int i = 0; i < 3; i++) { if (matrizVuelos[seleccion1][seleccion2]
pego el codigo que hice antes de ver el video, y dsp miro en que me confundi :) package companiadevuelos; import java.util.Scanner; public class Companiadevuelos { public static void main(String[] args) { // SCANNERS Scanner teclado = new Scanner(System.in); Scanner teclado2 = new Scanner(System.in); // VARIABLES String destinos[] = new String[6]; int asientos[][] = new int[6][3]; // BUCLES for (int i = 0; i < destinos.length; i++) { System.out.println("Ingrese el destino: "); destinos[i] = teclado.nextLine(); for (int c = 0; c < 3; c++) { switch (c) { case 0: System.out.println("Ingrese la cantidad de asientos turno mañana: "); asientos[i][c] = teclado.nextInt(); teclado.nextLine();
break; case 1: System.out.println("Ingrese la cantidad de asientos turno mediodía: "); asientos[i][c] = teclado.nextInt(); teclado.nextLine(); break; case 2: System.out.println("Ingrese la cantidad de asientos turno noche: "); asientos[i][c] = teclado.nextInt(); teclado.nextLine(); break; default:; break; } } } for (int i = 0; i < destinos.length; i++) { System.out.println(" Se encuentran los siguientes asientos Al destino: " + destinos[i]); System.out.println(" Turno mañana: " + asientos[i][0] + " Turno mediodía: " + asientos[i][1] + " Turno noche: " + asientos[i][2]); }
System.out.println("donde desea viajar? "); for (int i = 0; i < destinos.length; i++) { System.out.println(" la opcion: "+i+" corresponde al pais: "+destinos[i]);
} System.out.println("ingrese el numero: "); int p=teclado2.nextInt(); while (p>5){ System.out.println("error el numero ingresado es incorrecto, vuelva a ingresar un numero entre el 0 y el 5: "); p=teclado2.nextInt(); }
System.out.println("ingrese el turno en el que desa viajar: ");
while (t>2){ System.out.println("error el numero ingresado es incorrecto, vuelva a ingresar un numero entre el 0 y el 3: "); t=teclado2.nextInt(); } System.out.println("cuantos pasajes necesita? "); int cantPasajes=teclado.nextInt();
while (cantPasajes>asientos[p][t]){ System.out.println("el numero excede la cantidad de pasajes disponibles"); System.out.println("ingrese nuevamente cuantos pasajes necesita: "); cantPasajes=teclado.nextInt();}
asientos[p][t]=asientos[p][t]-cantPasajes; System.out.println(" Su asientos han sido asignados con EXITO, La cantidad de asientos que han quedado libres en dicho destino y turno son: "+asientos[p][t]);
bueno ya vi que me hice un lio, nose como haces para resolverlo tan sencillamente, sos una genia jaja gracias por el curso, ya finalice parte de vectores :) ahora ire por modelo de capas.
@@hernandavid9856 Jajaja tranquilo, yo tambien me hice bola con este ejercicio y tuve que usar metodos que anteriormente no enseñó la profe aunque esta largo tambien: PD: No pedi inputs para cada vuelo-horario ya que queria controlar todos resultados posibles y si usaba Math.random no sabria el valor al cual quiero acceder para asi comprobar el descuento de boletos. int matriz[][] = new int[6][3]; Scanner teclado = new Scanner (System.in); String nroDestino, nroVuelo, nroAsientos;
System.out.println("Ingrese el el numero de categoria del destino"); nroDestino = teclado.nextLine();
System.out.println("Ingrese el numero de categoria del vuelo"); nroVuelo = teclado.nextLine();
System.out.println("Ingrese el numero de asientos a comprar"); nroAsientos = teclado.nextLine();
//Recorrer datos while(!(nroDestino.equals("finish")) && !(nroVuelo.equals("finish")) && !(nroAsientos.equals("finish"))){ int dest = Integer.parseInt(nroDestino); int vuel = Integer.parseInt(nroVuelo); int asien = Integer.parseInt(nroAsientos);
if(matriz[dest][vuel] == 0){ System.out.println("Se agotaron los boletos"); } else if(matriz[dest][vuel] - asien < 0){ System.out.println("No hay suficiente boletos"); } else{ System.out.println("Su reserva fue realizada con exito"); matriz[dest][vuel] = matriz[dest][vuel] - asien; }
System.out.println("Ingrese el el numero de categoria del destino"); nroDestino = teclado.nextLine();
System.out.println("Ingrese el numero de categoria del vuelo"); nroVuelo = teclado.nextLine();
System.out.println("Ingrese el numero de asientos a comprar"); nroAsientos = teclado.nextLine(); }
Simplemente espectacular!, estoy empezando mis estudios en el mundo de la programación, a parte de explicar muy bien lo haces aún mas divertido. Un saludo desde España! 👋😃
Excelente explicacion, sencilla y entendible!! me mato el chiflidito que mestiste en el minuto 17:30!! ajaja. Saludos!! a seguir aprendiendo.
Copado el ejercicio y genial (como siempre) la explicación! 😁
Estoy repasando todo Teacher, los ejercicios para prepararme para el examen del certificado.
Muy buen ejercicio Lu! 👍😉Le hice algunas implementaciones y mejoras y quedó re cheto ! je aunque me llevó casi 100 líneas de código :S
Aunque lo que si diferenció fue la palabra clave de repetición o salida del while que fue a elección "Desea seguir comprando pasajes? (SI / NO)".
Este ejercicio se re presta para laburar con diferentes clases!!!
Yo lo la hice mucho mas larga 😅 y tambien intente que la salida en consola quede mas linda, dejo el código por aca:
import java.util.Scanner;
public class EJERCICIO_INTEGRADOR_MATRICES {
public static void main(String[] args) {
//Este escaner es solo para cargar la matriz
Scanner leer = new Scanner(System.in);
byte matriz [][] = new byte[3][6];
//Recorre las filas de la matriz
for (int i = 0; i < 3; i=i+1) {
switch (i) {
case 0:
System.out.println("Ingrese los asientos disponibles a la mañana de: ");
break;
case 1:
System.out.println("Ingrese los asientos disponibles al medio dia de: ");
break;
case 2:
System.out.println("Ingrese los asientos disponibles a la noche de: ");
default:
break;
}
//Recorre las columnas de la matriz
for (int j = 0; j < 6; j=j+1) {
switch (j) {
case 0:
System.out.print("Rio de Janeiro: ");
matriz[i][j] = leer.nextByte();
break;
case 1:
System.out.print("Cancun: ");
matriz[i][j] = leer.nextByte();
break;
case 2:
System.out.print("Madrid: ");
matriz[i][j] = leer.nextByte();
break;
case 3:
System.out.print("Roma: ");
matriz[i][j] = leer.nextByte();
break;
case 4:
System.out.print("Milan: ");
matriz[i][j] = leer.nextByte();
break;
case 5:
System.out.print("Iguazu: ");
matriz[i][j] = leer.nextByte();
break;
default:
break;
}
}
}
System.out.print("");
System.out.println("Matriz actual:");
//Dibuja como quedaron los datos de la matriz
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j] + " ");
}
System.out.println("");
}
System.out.print("");//Separa las 2 partes del codigo en consola
// 2-----------------------------------------------------------------------------------------------------
//Selecciona una POSICION de la matriz
Scanner leerByte = new Scanner(System.in);
Scanner leerStr = new Scanner(System.in);
byte destino = 0;
byte momento = 0;
String pregunta = "";
do {
do {
System.out.println("""
Ingrese el numero del destino al que quiere ir: 1-Rio de Janeiro
2-Cancun
3-Madrid
4-Roma
5-Milan
6-Iguazu""");
destino = leerByte.nextByte();
//Destino = j. Estoy accediendo a la posicion j
switch (destino) {
case 1: System.out.println("Elegiste Rio de Janeiro");
break;
case 2: System.out.println("Elegiste Cancun");
break;
case 3: System.out.println("Elegiste Madrid");
break;
case 4: System.out.println("Elegiste Roma");
break;
case 5: System.out.println("Elegiste Milan");
break;
case 6: System.out.println("Elegiste Iguazu");
break;
default: System.out.println("Selecciona un destino valido");
break;
}
} while (destino6);
do {
System.out.println("""
En que momento del dia vas a viajar?: 1- Mañana
2- Medio día
3- Noche""");
momento = leerByte.nextByte();
//Momento = i. Estoy accediendo a la posicion i
switch (momento) {
case 1: System.out.println("Elegiste en la mañana");
break;
case 2: System.out.println("Elegiste el medio día");
break;
case 3: System.out.println("Elegiste la noche");
break;
default: System.out.println("Selecciona un momento del dia valido");
break;
}
} while (momento>3 || momento
Ejercicios complejos pero muy bien redactados, la guia de ejercicios de mi profesor poco mas y estaba escrita en chino mandarín
Le agradezco porque es una gran Persona
Gracias ah ti estoy aprendiendo muchisimooo , explicas mejor que mis docentes de la universidad JAJAJA
los creditos de ser saber programar en java seran tuyos JAJA
Que buen ejercicio! Muchas gracias profe, he aprendido muchísimo con usted
Me alegra muchooo!!! Peeeero... Tuteame!!! No me gusta que me traten de ud 🙈
@@TodoCode 😅Con gusto eres excelente profesora y creadora de contenido muchas por todo lo que TU haces 😜
Luisina, este ejercicio me voló la cabeza, jajaja, es excelente pude luego de varias leídas y descansos intermedios, resolverlo. Muchas gracias, ayudó a mover las neuronas en lógica. Es posible subir para que puedan corroborar y mejorar mi código subirlo en algún espacio?
Excelente vídeo y explicación.
Visto en 21/10/2023
Muy buen videooo!!!
Belleza la tuya y la forma de enseñar.... Muuuuchas gracias...! cuanto cuesta el curso de SPRING BOOT para mi que soy de Ecuador?
Excelente Luisina
excelente como siempre muchas
Que buen ejercicio:D
genial profe
No encuentro el enlace del repositorio de Git
profe, como sería si quisiéramos imprimir o dar el reporte de todos los números de ventas/reservas con su respectivo indice de destino y horario?
Bueno yo lo hice de la siguiente forma, hasta donde lo probe funciona ( me estaba volviendo loco que no se si lo testie bien ) Pd: El programa solo te deja ingresar los asientos en la matriz 1 vez podria hacerlo para que cada vez q un usuario escoja asientos se pueda como volver a rellenar mas asientos en la matriz pero bueno nada me queme pensando :P
-
-
-
-
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//Zona variables
int matrizVuelos[][] = new int[6][4]; //Grilla de destinos x dias
int seleccion1, seleccion2, seleccion3; // Destino , Momento del dia , Cantidad asientos
String Salir=" "; // Variable para salir del while
//Ingresos por teclado
Scanner teclado = new Scanner(System.in); //Para INT
Scanner teclado2 = new Scanner(System.in); //Para String
System.out.println("----------Programa de vuelos----------");
System.out.println("-------Se ingresan los asientos-------");
/*****Carga de asientos para los vuelos******/ //Cargamos la matriz
for (int destino=0 ; destino < 6 ; destino++){
for (int tiempo=0 ; tiempo < 3 ; tiempo++){
System.out.println("Asiento ["+destino+"] Destino ["+tiempo+"]");
matrizVuelos[destino][tiempo] = teclado.nextInt();
}
}
/*****Usuarios pidiendo vuelos******/
while (!Salir.equalsIgnoreCase("Finish")) {
System.out.println("Ingrese a que Destino desea viajar");
System.out.println("0) Rio de Janeiro -- 1) Cancun -- 2) Madrid -- 3) Roma -- 4) Milan -- 5) Iguazu");
seleccion1 = teclado.nextInt();
System.out.println("¿En que momento del dia desea viajar?");
System.out.println("0) Mañana -- 1) Medio Dia -- 2) Noche");
seleccion2 = teclado.nextInt();
System.out.println("Cuantos Asientos desea reservar?");
seleccion3 = teclado.nextInt();
/* Condicionales */
for (int i = 0; i < 3; i++) {
if (matrizVuelos[seleccion1][seleccion2]
Muy bueno
gracias
13:18 donde empieza lo sabroso del ejercicio 😅
Buenas, hay alguna manera de llenar la matriz con numeros al azar?
Si se puede con la clase ramdom
@@yaderbaires1131 si si, hice el mismo ejercicio con random y quedó re bien. Gracias por responder!!
@@hernanoviedo4124 estamos para ayudarnos brother . Saludos
@@yaderbaires1131 ¿Como seria con la clase Random?
@@komorebi9048 con la clase ramdom , tu pones los parámetros por ejemplo le dices entre 0 y 100 y el rellena con números al azar .
Estuvo potente el ejercicio 144 lines de código me quedaron
👋👋👋
El diavlo, si está potente
pego el codigo que hice antes de ver el video, y dsp miro en que me confundi :)
package companiadevuelos;
import java.util.Scanner;
public class Companiadevuelos {
public static void main(String[] args) {
// SCANNERS
Scanner teclado = new Scanner(System.in);
Scanner teclado2 = new Scanner(System.in);
// VARIABLES
String destinos[] = new String[6];
int asientos[][] = new int[6][3];
// BUCLES
for (int i = 0; i < destinos.length; i++) {
System.out.println("Ingrese el destino: ");
destinos[i] = teclado.nextLine();
for (int c = 0; c < 3; c++) {
switch (c) {
case 0:
System.out.println("Ingrese la cantidad de asientos turno mañana: ");
asientos[i][c] = teclado.nextInt();
teclado.nextLine();
break;
case 1:
System.out.println("Ingrese la cantidad de asientos turno mediodía: ");
asientos[i][c] = teclado.nextInt();
teclado.nextLine();
break;
case 2:
System.out.println("Ingrese la cantidad de asientos turno noche: ");
asientos[i][c] = teclado.nextInt();
teclado.nextLine();
break;
default:;
break;
}
}
}
for (int i = 0; i < destinos.length; i++) {
System.out.println("
Se encuentran los siguientes asientos Al destino: " + destinos[i]);
System.out.println("
Turno mañana: " + asientos[i][0] + " Turno mediodía: " + asientos[i][1] + " Turno noche: " + asientos[i][2]);
}
System.out.println("donde desea viajar? ");
for (int i = 0; i < destinos.length; i++) {
System.out.println("
la opcion: "+i+" corresponde al pais: "+destinos[i]);
}
System.out.println("ingrese el numero: ");
int p=teclado2.nextInt();
while (p>5){
System.out.println("error el numero ingresado es incorrecto, vuelva a ingresar un numero entre el 0 y el 5: ");
p=teclado2.nextInt();
}
System.out.println("ingrese el turno en el que desa viajar: ");
System.out.println("
turno mañana digite 0
turmo mediodia digite 1
turno noche digite 2");
int t=teclado2.nextInt();
while (t>2){
System.out.println("error el numero ingresado es incorrecto, vuelva a ingresar un numero entre el 0 y el 3: ");
t=teclado2.nextInt();
}
System.out.println("cuantos pasajes necesita? ");
int cantPasajes=teclado.nextInt();
while (cantPasajes>asientos[p][t]){
System.out.println("el numero excede la cantidad de pasajes disponibles");
System.out.println("ingrese nuevamente cuantos pasajes necesita: ");
cantPasajes=teclado.nextInt();}
asientos[p][t]=asientos[p][t]-cantPasajes;
System.out.println(" Su asientos han sido asignados con EXITO,
La cantidad de asientos que han quedado libres en dicho destino y turno son: "+asientos[p][t]);
}}
bueno ya vi que me hice un lio, nose como haces para resolverlo tan sencillamente, sos una genia jaja
gracias por el curso, ya finalice parte de vectores :) ahora ire por modelo de capas.
@@hernandavid9856 Jajaja tranquilo, yo tambien me hice bola con este ejercicio y tuve que usar metodos que anteriormente no enseñó la profe aunque esta largo tambien:
PD: No pedi inputs para cada vuelo-horario ya que queria controlar todos resultados posibles y si usaba Math.random no sabria el valor al cual quiero acceder para asi comprobar el descuento de boletos.
int matriz[][] = new int[6][3];
Scanner teclado = new Scanner (System.in);
String nroDestino, nroVuelo, nroAsientos;
// [destino][vuelo]
matriz[0][0] = 120;
matriz[0][1] = 15;
matriz[0][2] = 30;
matriz[1][0] = 65;
matriz[1][1] = 1;
matriz[1][2] = 2;
matriz[2][0] = 4;
matriz[2][1] = 52;
matriz[2][2] = 7;
matriz[3][0] = 46;
matriz[3][1] = 32;
matriz[3][2] = 16;
matriz[4][0] = 64;
matriz[4][1] = 23;
matriz[4][2] = 11;
matriz[5][0] = 61;
matriz[5][1] = 12;
matriz[5][2] = 91;
System.out.println("Ingrese el el numero de categoria del destino");
nroDestino = teclado.nextLine();
System.out.println("Ingrese el numero de categoria del vuelo");
nroVuelo = teclado.nextLine();
System.out.println("Ingrese el numero de asientos a comprar");
nroAsientos = teclado.nextLine();
//Recorrer datos
while(!(nroDestino.equals("finish")) && !(nroVuelo.equals("finish")) && !(nroAsientos.equals("finish"))){
int dest = Integer.parseInt(nroDestino);
int vuel = Integer.parseInt(nroVuelo);
int asien = Integer.parseInt(nroAsientos);
if(matriz[dest][vuel] == 0){
System.out.println("Se agotaron los boletos");
} else if(matriz[dest][vuel] - asien < 0){
System.out.println("No hay suficiente boletos");
} else{
System.out.println("Su reserva fue realizada con exito");
matriz[dest][vuel] = matriz[dest][vuel] - asien;
}
System.out.println("Ingrese el el numero de categoria del destino");
nroDestino = teclado.nextLine();
System.out.println("Ingrese el numero de categoria del vuelo");
nroVuelo = teclado.nextLine();
System.out.println("Ingrese el numero de asientos a comprar");
nroAsientos = teclado.nextLine();
}