Diavlo que dificil me la pusite!!! Que difici me la puso diaaavloo!! Gracias por hacerme ver que tengo que revisar las tablas de verdad, Luisi. Muchas graciaaaaaas
Yo siempre hago eso, Leer al menos 2 veces el ejercicio y en este caso, en el último apartado dice: "Para dar fin a las inscripciones, se debe ingresar 0 en el dni Y nombre tenga la palabra "fin". " Ahi está dicho todo, no hay x donde perderse ing Luisina.
buenas profe mi solucion fue negar todo while (!(DNI == 0 && nombre.equals(fin))) por que al negar directamente lo trata como booleano me costo lo hice solo y estaba trabado en esa parte investigue un poco y di con esta info (niega expresiones booleanas, es decir, las convierte en su opuesto lógico. Si se usa con valores numéricos o cadenas, Java intentará convertir esos valores en booleanos y luego negar el resultado). gracias por los videos y el curso me estan ayudando muchisimo !
A mi me daba problema el sacnner cuando mezclaba un string con int, pero debía poner debajo de uno un " teclado.nextLine()" Pero buen dato ese que diste tmb 👍
Antes de ver el video lo pause y lo pude hacer con un do while para no repetir lo de ingresar los datos, luego primero ingreso el nombre para no tener el problema de usar nextLine y nextInt bueno si lo pongo al reves la solucion es poner nextLine(), luego evaluo la edad para ver la categoria y dentro de la evaluacion la condicion de dni y nombre si es correcto cree una variable decision = 1. inicial mente lo declare con 0, ya que mi while si la decision es 0 cumple y se refire hasta que la decision sea 1
El único problema que tuve fue con el while justamente era por el or que estaba usando por eso no me funcionaba como corresponde, con este video todo claro
Hola Luisina ! Una pregunta : la parte de las categorias no podria ser con un swich? Desde ya excelente tus explicaciones. yo tengo 51 años (categoria adulto mayor) me gane beca Arg programa y en Codo a Codo y tus explicaciones me ayudan a entender de verdad asi que GraciasGracias Gracias❤
hola profe, yo lo termine solucionando con el OR, encerre la condicion y negue por fuera como un todo --- while (!(dni.equals("0") || nombre.equalsIgnoreCase("fin")))
Hola Luisina, muchas gracias por tus videos!! Explicas super bien y con buena onda. 😁 Ando probando JAVA y la verdad me gustó mucho el lenguaje. Muy interesante el ejercicio, me re sirvió. Estuve como dos horas metiéndole código y probando cosas. Al final termine creando una clase para meter los datos ahí y una lista para mostrar todos los inscritos al final. Ni se que hice pero anda, así que super feliz jaaja🤣 Otra cosa que nada tiene que ver con el tema, pero siempre que decís pantalla me acuerdo de una amigo de misiones y me entra la nostalgia😅 Bueno, saludos y de nuevo gracias!!😜
hola profe, interprete bien el ejercicio, pero le agregue que se guarden las edades segun la categoria, y que al final cuando diga la palabra fin, tambine muestre cuantas personas se anotaron por categoria , por ser principante creo que me fui por las ramas jaja ya que empece de 0 voy aprendiendo muy bien con vos, graciasssssss
Conjunción, "&&", "AND, "Y": Ambas condiciones deben ser "V" para que el resultado sea "V", en todo caso el resultado es "F" ============================================================================================================ Disyunción "||", "OR", "O": Ambas condiciones deben ser "F" para que el resultado sea "F", en todo caso el resultado es "F" ============================================================================================================ dni = 0 nombre = hola edad = 19 ============================================================================================================ primera condición: dni "0" es igual a "0"= "Verdadero", pero como está negado "!" pasa a "Falso" segunda condición: nombre "hola" es igual a "fin"= "Falso" pero como está negado "!" pasa a "Verdadero"
Pero ahi decía el enunciado que si ingresa u dni con valor 0 Y un nombre con la palabra fin se termina el programa, entonces tiene que ejecutarse las dos condiciones, no solo una.
En los vivos se hacen modificaciones a pedido del chat o en base a situaciones que pasan al ir desarrollando. Como dice al principio del video, recordá que es un resumen del vivo! Los momentos de debate con el chat no se suben para que no dure tanto! Si vos queres cumplir a rajatabla el enunciado o queres agregar o quitar cosas al mismo o al desarrollo para practicar, podes hacerlo! Un saludo!
Se debe a que los números que no serán utilizados para cálculos (el dni es un dato que no usarás oara cálculos) se recomienda guardarlos siempre como strings. De igual manera, hay dnis que llevan tmb letras o guiones consigo, por lo cual ai fueran un double, no podrian guardarse 😊
ahora lo modifiqué para que funcione de la siguiente manera: tuve en cuenta el código del video pero modifique el bucle while: import java.util.Scanner; public class Maraton { public static void main(String[] args) { // DNI System.out.println("Ingrese el dni de la persona: "); Scanner teclado = new Scanner(System.in); String dni = teclado.nextLine();
// Nombre System.out.println("Ingrese el nombre de la persona: "); String nombre = teclado.nextLine();
while (!dni.equals("0") || !nombre.equalsIgnoreCase("salir")) { // Edad System.out.println("Ingresa la edad de la persona: "); Scanner teclado2 = new Scanner(System.in); int edad = teclado2.nextInt();
if (edad >= 6 && edad = 11 && edad = 18 && edad = 31 && edad 50) { System.out.println("Perteneces a la categoria adultos mayores"); } else { System.out.println("La persona no cuenta con la edad indicada"); }
System.out.println("Ingrese el dni: "); dni = teclado.nextLine(); System.out.println("Ingrese el nombre: "); nombre = teclado.nextLine(); } System.out.println("Programa finalizado."); } }
Buenas! Yo al final para que no tenga que ingresar la edad si es que se quiere finalizar el programa lo hice así, también es otra solución... System.out.println("Ingrese dni"); dni= teclado.next(); System.out.println("Ingrese nombre"); nombre = teclado.next(); if (dni.equals("0") && nombre.equalsIgnoreCase("fin")) { System.out.println("Fin del registro"); } else { System.out.println("Ingrese edad"); edad = teclado2.nextInt(); }
Hola reina, yo lo hice de la siguiente manera sin ver la solucón del ejercicio: package maraton; import java.util.Scanner; public class Maraton { public static void main(String[] args) {
int inscripcion = 1; String nombre = " "; while (inscripcion != 0 && nombre != "fin") { Scanner consola = new Scanner(System.in); System.out.println("coloca una edad: "); inscripcion = consola.nextInt(); System.out.println("coloca un nombre: "); nombre = consola.next()..toLowerCase(); if(inscripcion >= 6 && inscripcion = 11 && inscripcion = 18 && inscripcion =31 && inscripcion 50){ System.out.println("perteneces a la categoria adultos mayores"); }else{ System.out.println("valor incorrecto"); } } } } espero que la comunidad me diga si tengo algun error.
Una consulta, lo hice y todo bien pero testeando un poco más, al ingresar por 3ra vez los datos se salta el ingresar dni y directamente te manda a ingresar el nombre, ¿Qué se hace en ese caso? (Gran video, gracias)
No se puede usar for porque es desconocido el número de participantes, además es controlado por centinela y no por contador y el for en sí tiene un contador for (int i = 0 ; i < n ; i++); por eso usa un while.
Le puse pausa al video hice esto sin verlo por si a alguien le sirve import java.util.Scanner; public class Logica { public static void main(String args[]) { int dni, edad; String nombre; System.out.println("Ingrese su edad: "); Scanner consola = new Scanner(System.in); int categoria = consola.nextInt(); if (categoria 10) { System.out.println("Tu categoria es B"); System.out.println("Ingrese Nombre"); nombre = consola.next(); System.out.println("Ingrese su DNI"); dni = consola.nextInt(); System.out.println( nombre +" categoria B, numero DNI: "+ dni);
} else if (categoria >= 18 || categoria < 30) { System.out.println("Tu categoria es Juvenil"); System.out.println("Ingrese Nombre: "); nombre = consola.next(); System.out.println("Ingrese su DNI: "); dni = consola.nextInt(); System.out.println( nombre +" categoria Juvenil, numero DNI: "+ dni);
} else if (categoria >= 31 || categoria < 50) { System.out.println("Tu categoria es Adultos"); System.out.println("Ingrese Nombre: "); nombre = consola.next(); System.out.println("Ingrese su DNI: "); dni = consola.nextInt(); System.out.println( nombre +" categoria adultos, numero DNI: "+ dni);
} else { System.out.println("Tu categoria es adultos mayores"); System.out.println("Ingrese Nombre"); nombre = consola.next(); System.out.println("Ingrese su DNI"); dni = consola.nextInt(); System.out.println( nombre +" categoria adultos mayores, numero DNI: "+ dni); } } }
Que asco me da usar la consola... si se puede hacer gráficamente el formulario y validar los valores... literalmente es una problemática de practica con bucles q no aportan conocimiento real...
Si aprender backend y lógica de programación no es aprendizaje y solo podés hacer las cosas si las ves en dibujito... tas complicado!... exitos! Un saludo!!
@@TodoCode A lo q iba es q usar el print en consola para algo q podría quedar mejor explicado más visualmente a la lógica... Ya q yo estudie lógica de esta manera(a base de impresión en consola) y da igual q te pongas a dibujar en consola siempre será aburridísimo aprender así, obvio q después si te dedicas al backend no vas a ver normalmente interfaces gráficas, pero ya seria en un momento en el que ya tienes conocimiento de lógica y de lo q estás haciendo, yo más lo digo por la persona q no sabe absolutamente nada y recién empieza... No lo digo para ofender ni nada... solo me parece un bucle de repetir siempre las mismas cosas, aunque usted la hace mucho más dinámica a las explicaciones q otras personas q también realizan cursos de lógica y programación... Agregando podrías usar un TextArea de java y usar campos del swing y de paso explicabas cómo funciona y podrías aplicar la lógica q usas en el video, así como los q usas en otros videos de lógica. Aunq claro q con Swing hay maneras de comprobar de manera mas facil los valores q se ingresan en los campos como detectar los eventos del teclado y anularlos o obtener el string pre procesado y aplicarle filtros... infinita maneras.
@@kriegvt no dije eso en ningún momento... Además vas a estar años estudiando programación si solo te topas con gente que explicar los temas de manera básica y nunca profundizan nada o no te enseñar a profundizar los temas... Ya q todo tiene documentación pero en pocos cursos eh visto q te enseñen a consultar y entender la documentación
Diavlo que dificil me la pusite!!!
Que difici me la puso diaaavloo!!
Gracias por hacerme ver que tengo que revisar las tablas de verdad, Luisi.
Muchas graciaaaaaas
Yo siempre hago eso, Leer al menos 2 veces el ejercicio y en este caso, en el último apartado dice: "Para dar fin a las inscripciones, se debe ingresar 0 en el dni Y nombre tenga la palabra "fin". " Ahi está dicho todo, no hay x donde perderse ing Luisina.
Tremenda crack la profe, no sabia lo que era la tabla de verdad y ahora lo se 🤯. Estos ejercicios ayudan mucho. Gracias 🙌❤
buenas profe mi solucion fue negar todo while (!(DNI == 0 && nombre.equals(fin))) por que al negar directamente lo trata como booleano me costo lo hice solo y estaba trabado en esa parte investigue un poco y di con esta info (niega expresiones booleanas, es decir, las convierte en su opuesto lógico. Si se usa con valores numéricos o cadenas, Java intentará convertir esos valores en booleanos y luego negar el resultado). gracias por los videos y el curso me estan ayudando muchisimo !
Lo intenté con tu código y no me funcionó bro, me lo sigue ejecutando
A mi me daba problema el sacnner cuando mezclaba un string con int, pero debía poner debajo de uno un " teclado.nextLine()"
Pero buen dato ese que diste tmb 👍
A mi también me daba el mismo problema, y no sabia que había como declarar Scanner mas de 1 vez.
Excelente vídeo y explicación.
Visto en 15/10/2023
Antes de ver el video lo pause y lo pude hacer con un do while para no repetir lo de ingresar los datos, luego primero ingreso el nombre para no tener el problema de usar nextLine y nextInt bueno si lo pongo al reves la solucion es poner nextLine(), luego evaluo la edad para ver la categoria y dentro de la evaluacion la condicion de dni y nombre si es correcto cree una variable decision = 1. inicial mente lo declare con 0, ya que mi while si la decision es 0 cumple y se refire hasta que la decision sea 1
excelente video profe, yo he resuelto el codigo utilizando un do while para no repetir codigo. saludos
El único problema que tuve fue con el while justamente era por el or que estaba usando por eso no me funcionaba como corresponde, con este video todo claro
Hola Luisina ! Una pregunta : la parte de las categorias no podria ser con un swich?
Desde ya excelente tus explicaciones. yo tengo 51 años (categoria adulto mayor) me gane beca Arg programa y en Codo a Codo y tus explicaciones me ayudan a entender de verdad asi que GraciasGracias Gracias❤
Puede si.
Excelente Canal hasta ahora lo veo 😮
hola profe, yo lo termine solucionando con el OR, encerre la condicion y negue por fuera como un todo --- while (!(dni.equals("0") || nombre.equalsIgnoreCase("fin")))
Hola Luisina, muchas gracias por tus videos!! Explicas super bien y con buena onda. 😁
Ando probando JAVA y la verdad me gustó mucho el lenguaje. Muy interesante el ejercicio, me re sirvió. Estuve como dos horas metiéndole código y probando cosas. Al final termine creando una clase para meter los datos ahí y una lista para mostrar todos los inscritos al final. Ni se que hice pero anda, así que super feliz jaaja🤣
Otra cosa que nada tiene que ver con el tema, pero siempre que decís pantalla me acuerdo de una amigo de misiones y me entra la nostalgia😅
Bueno, saludos y de nuevo gracias!!😜
Si mal no recuerdo tenia mucho que ver con la ley de morgan. Tendrias que cambiar el or por un and o quitar las negaciones.
Muy loco este caso gracias por la enseñanza esto me ahorrara dolores de cabeza en el futuro estoy seguro xd
casi vuelo si no fuera por la aclaración en paint xD, buena explicación
No me puedo concentrar con la hermosa profesora
Que tal truco lo del OR. Gracias por el ejercicio
hola profe, interprete bien el ejercicio, pero le agregue que se guarden las edades segun la categoria, y que al final cuando diga la palabra fin, tambine muestre cuantas personas se anotaron por categoria , por ser principante creo que me fui por las ramas jaja ya que empece de 0 voy aprendiendo muy bien con vos, graciasssssss
Buenas Noches, Hasta Mañana
Conjunción, "&&", "AND, "Y": Ambas condiciones deben ser "V" para que el resultado sea "V", en todo caso el resultado es "F"
============================================================================================================
Disyunción "||", "OR", "O": Ambas condiciones deben ser "F" para que el resultado sea "F", en todo caso el resultado es "F"
============================================================================================================
dni = 0
nombre = hola
edad = 19
============================================================================================================
primera condición: dni "0" es igual a "0"= "Verdadero", pero como está negado "!" pasa a "Falso"
segunda condición: nombre "hola" es igual a "fin"= "Falso" pero como está negado "!" pasa a "Verdadero"
Es como un sueño que una reina ucraniana/ argentina te enseñe Java 😊❤
Buen video un saludo
Pero ahi decía el enunciado que si ingresa u dni con valor 0 Y un nombre con la palabra fin se termina el programa, entonces tiene que ejecutarse las dos condiciones, no solo una.
En los vivos se hacen modificaciones a pedido del chat o en base a situaciones que pasan al ir desarrollando. Como dice al principio del video, recordá que es un resumen del vivo! Los momentos de debate con el chat no se suben para que no dure tanto! Si vos queres cumplir a rajatabla el enunciado o queres agregar o quitar cosas al mismo o al desarrollo para practicar, podes hacerlo! Un saludo!
Reina 😆. No me sorprende la verdad jaja
Hola Lu, me podrías decir cual es la serie de java POO con DB? No la encuentro :(
Hola! Vas al canal, listas de reproducción, y ahi tenés, curso de poo con java 😊
una duda, porque al DNI se lo asigna como String y no como INT o DOUBLE dado caso que se lo escriba con puntos
Se debe a que los números que no serán utilizados para cálculos (el dni es un dato que no usarás oara cálculos) se recomienda guardarlos siempre como strings. De igual manera, hay dnis que llevan tmb letras o guiones consigo, por lo cual ai fueran un double, no podrian guardarse 😊
ahora lo modifiqué para que funcione de la siguiente manera: tuve en cuenta el código del video pero modifique el bucle while:
import java.util.Scanner;
public class Maraton {
public static void main(String[] args) {
// DNI
System.out.println("Ingrese el dni de la persona: ");
Scanner teclado = new Scanner(System.in);
String dni = teclado.nextLine();
// Nombre
System.out.println("Ingrese el nombre de la persona: ");
String nombre = teclado.nextLine();
while (!dni.equals("0") || !nombre.equalsIgnoreCase("salir")) {
// Edad
System.out.println("Ingresa la edad de la persona: ");
Scanner teclado2 = new Scanner(System.in);
int edad = teclado2.nextInt();
if (edad >= 6 && edad = 11 && edad = 18 && edad = 31 && edad 50) {
System.out.println("Perteneces a la categoria adultos mayores");
} else {
System.out.println("La persona no cuenta con la edad indicada");
}
System.out.println("Ingrese el dni: ");
dni = teclado.nextLine();
System.out.println("Ingrese el nombre: ");
nombre = teclado.nextLine();
}
System.out.println("Programa finalizado.");
}
}
🤯🤯🤯
Buenas! Yo al final para que no tenga que ingresar la edad si es que se quiere finalizar el programa lo hice así, también es otra solución...
System.out.println("Ingrese dni");
dni= teclado.next();
System.out.println("Ingrese nombre");
nombre = teclado.next();
if (dni.equals("0") && nombre.equalsIgnoreCase("fin")) {
System.out.println("Fin del registro");
} else {
System.out.println("Ingrese edad");
edad = teclado2.nextInt();
}
Hola reina, yo lo hice de la siguiente manera sin ver la solucón del ejercicio:
package maraton;
import java.util.Scanner;
public class Maraton {
public static void main(String[] args) {
int inscripcion = 1;
String nombre = " ";
while (inscripcion != 0 && nombre != "fin") {
Scanner consola = new Scanner(System.in);
System.out.println("coloca una edad: ");
inscripcion = consola.nextInt();
System.out.println("coloca un nombre: ");
nombre = consola.next()..toLowerCase();
if(inscripcion >= 6 && inscripcion = 11 && inscripcion = 18 && inscripcion =31 && inscripcion 50){
System.out.println("perteneces a la categoria adultos mayores");
}else{
System.out.println("valor incorrecto");
}
}
}
}
espero que la comunidad me diga si tengo algun error.
Los strings creo que no se pueden comparar con != o ==, te dio error cuando lo corriste?
Una consulta, lo hice y todo bien pero testeando un poco más, al ingresar por 3ra vez los datos se salta el ingresar dni y directamente te manda a ingresar el nombre, ¿Qué se hace en ese caso? (Gran video, gracias)
bro que tal, lo hiciste como Luisina o por tu cuenta ?
@@darwinjosueletona4670 hey bro, ya resolví, era por el Scanner, lo hice primero a mi manera y luego como Luisi y vi el problema
@@Geybernow dale bro
Y para ver cuantas personas se tiene que registrar , el For en donde va ? .-.
No se puede usar for porque es desconocido el número de participantes, además es controlado por centinela y no por contador y el for en sí tiene un contador for (int i = 0 ; i < n ; i++); por eso usa un while.
Este ejercicio me hizo bulling 🤣🤣😂😂
Visto el 13/02/2024
ay mi cerebro
buezano
Le puse pausa al video hice esto sin verlo por si a alguien le sirve
import java.util.Scanner;
public class Logica {
public static void main(String args[]) {
int dni, edad;
String nombre;
System.out.println("Ingrese su edad: ");
Scanner consola = new Scanner(System.in);
int categoria = consola.nextInt();
if (categoria 10) {
System.out.println("Tu categoria es B");
System.out.println("Ingrese Nombre");
nombre = consola.next();
System.out.println("Ingrese su DNI");
dni = consola.nextInt();
System.out.println( nombre +" categoria B, numero DNI: "+ dni);
} else if (categoria >= 18 || categoria < 30) {
System.out.println("Tu categoria es Juvenil");
System.out.println("Ingrese Nombre: ");
nombre = consola.next();
System.out.println("Ingrese su DNI: ");
dni = consola.nextInt();
System.out.println( nombre +" categoria Juvenil, numero DNI: "+ dni);
} else if (categoria >= 31 || categoria < 50) {
System.out.println("Tu categoria es Adultos");
System.out.println("Ingrese Nombre: ");
nombre = consola.next();
System.out.println("Ingrese su DNI: ");
dni = consola.nextInt();
System.out.println( nombre +" categoria adultos, numero DNI: "+ dni);
} else {
System.out.println("Tu categoria es adultos mayores");
System.out.println("Ingrese Nombre");
nombre = consola.next();
System.out.println("Ingrese su DNI");
dni = consola.nextInt();
System.out.println( nombre +" categoria adultos mayores, numero DNI: "+ dni);
}
}
}
Mi solución es de la sgte manera(usando operadores ternarios) :
package HolaMundo;
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
String nombre="",categoria;
int dni=-1, edad;
while( !nombre.equalsIgnoreCase("fin") && dni!=0 ){
System.out.println("Ingresar DNI: ");
dni = teclado.nextInt();
System.out.println("Ingresar Nombre: ");
nombre = teclado.next();
System.out.println("Ingresar Edad: ");
edad = teclado.nextInt();
categoria = ( edad>=6 && edad=11 && edad=18 && edad=31 && edad50 ) ? "Adultos mayores" :
"No se encontro una categoria para usted.";
if( !nombre.equalsIgnoreCase("fin") && dni!=0 ){
System.out.println("Usted debe inscribirse en la categoria: " + categoria + "
");
}
}
System.out.println("
El programa finalizo.");
}
}
Te va a andar mal así
Que asco me da usar la consola... si se puede hacer gráficamente el formulario y validar los valores... literalmente es una problemática de practica con bucles q no aportan conocimiento real...
Si aprender backend y lógica de programación no es aprendizaje y solo podés hacer las cosas si las ves en dibujito... tas complicado!... exitos! Un saludo!!
@@TodoCode A lo q iba es q usar el print en consola para algo q podría quedar mejor explicado más visualmente a la lógica... Ya q yo estudie lógica de esta manera(a base de impresión en consola) y da igual q te pongas a dibujar en consola siempre será aburridísimo aprender así, obvio q después si te dedicas al backend no vas a ver normalmente interfaces gráficas, pero ya seria en un momento en el que ya tienes conocimiento de lógica y de lo q estás haciendo, yo más lo digo por la persona q no sabe absolutamente nada y recién empieza... No lo digo para ofender ni nada... solo me parece un bucle de repetir siempre las mismas cosas, aunque usted la hace mucho más dinámica a las explicaciones q otras personas q también realizan cursos de lógica y programación... Agregando podrías usar un TextArea de java y usar campos del swing y de paso explicabas cómo funciona y podrías aplicar la lógica q usas en el video, así como los q usas en otros videos de lógica. Aunq claro q con Swing hay maneras de comprobar de manera mas facil los valores q se ingresan en los campos como detectar los eventos del teclado y anularlos o obtener el string pre procesado y aplicarle filtros... infinita maneras.
@@RubenGZ pero si es para gente que está recién conociendo la clase Scanner xd tremendo texto para decir "Yo creo que lo hago mejor".
@@kriegvt no dije eso en ningún momento... Además vas a estar años estudiando programación si solo te topas con gente que explicar los temas de manera básica y nunca profundizan nada o no te enseñar a profundizar los temas... Ya q todo tiene documentación pero en pocos cursos eh visto q te enseñen a consultar y entender la documentación