ENUNCIADO:
El objetivo de este proyecto es desarrollar un programa en Java que permita a los usuarios ingresar una lista de números y ordenarla en orden ascendente o descendente, según su elección. El programa deberá ser capaz de manejar diferentes cantidades de números y garantizar un proceso de ordenación eficiente y preciso.
La empresa que nos solicita este programa es de China. El 4 es el número de la mala suerte en su cultura porque la palabra “cuatro” - tanto en mandarín como en cantonés - suena muy parecida a “hokkien” (o “muerte”). Por este motivo este número no puede ser ingresado a la lista.
¿Qué pensáis? Esto es lo que llevo
1019882183709687838
36 respuestas
Te falta evitar que entre el numero 4 a la lista. Aqui te paso como lo haría yo, uso toUpperCase() para no comparar la letra en minúscula, directamente la paso a mayúscula y la comparo, faltaría poner las excepciones por si se mete una letra o un string en vez de un numero y en el orden por si meten un string o un numero en vez de la letra pero eso te lo dejo a ti. He editado porque se me habia olvidado poner que se vieran los números introducidos, ahora estan.
sazyuerhace 11 meses
sazyuerhace 11 meses
Exacto, sólo me falta el número 4
jrdev_angelhace 11 meses
no se ve en la imagen como he puesto lo del número 4 porque se ha quedado plegado, pero seria asi en mi caso
sazyuerhace 11 meses
Me dio este error
jrdev_angelhace 11 meses
Es numbers.sort no collections
sazyuerhace 11 meses
Ésto me da errores
jrdev_angelhace 11 meses
Corregido
jrdev_angelhace 11 meses
Normal, donde pone respuesta pon answer y declara el answer como un int a lo primero
sazyuerhace 11 meses
Modificado
jrdev_angelhace 11 meses
Lo que pones dentro del if en answer está mal, tienes que comparar, no asignar sería !=, no =
sazyuerhace 11 meses
Me funciona, solamente tengo que solucionar lo del número 4. Me dio falloal ordenar 5 y 6
jrdev_angelhace 11 meses
No entiendo que fallo te ha dado
sazyuerhace 11 meses
Buenos días que me ordenó mal el número 5 y 6
jrdev_angelhace 10 meses
Si es lo de la imagen, ahí no sale ningún número ordenado, solo salen los números que se han introducido sin en el número 4, y más abajo te sale lo de ordenado, pero no hay números
sazyuerhace 10 meses
Entiendo... entonces está mal...
jrdev_angelhace 10 meses
aqui te pongo como hacerlo con array y usando el algoritmo burbuja para ordenar que es menos eficiente pero sirve para aprender a ordenar por uno mismo, son mas líneas de código para hacer lo mismo pero queda interesante.
sazyuerhace 10 meses
Ahora mismo estamos empezando java... Pero está bien porque no uso chatgpt
jrdev_angelhace 10 meses
Esto último es más sencillo que lo otro con collections y arraylist, es un array y bucles, no hay nada más, y se entiende fácilmente lo único así por decir es que he creado una función para no repetir el código de ordenar.
sazyuerhace 10 meses
Buenas tardes la verdad es que se entiende muy bien así... pero si te fijas a mí me da error en la línea 62 en el else solo y una advertencia
jrdev_angelhace 10 meses
Yo no se si es que me pones a prueba o que? Te da error porque te sobra una llave y te falta poner la opción D con eso solo ordenará de forma ascendente. La advertencia sale por lo mismo que el error, cuando quites una llave de cierre desaparecerá esa advertencia.
sazyuerhace 10 meses
No te pongo a prueba, estoy muy agradecido por tu ayuda... no me gusta ser mas listos que los demás o presumir... porque odio presumir, además es una tonteria presumir porque es código y hay millones de formas de codificar, así que perdón si te he ofendido...
jrdev_angelhace 10 meses
Ofenderme no, es que parecía una broma, nada arreglado.
sazyuerhace 10 meses
No era una broma, simplemente necesito ayuda y te lo agradezco, ya que estoy empezando ☺️ .
jrdev_angelhace 10 meses
Tienes un fallo en el if que hay en el while (numbersEntered < quantity) estas diciendo que si answer es igual al numero cuatro que lo ingrese en el array numbers y si no es igual que se muestre por pantalla "the number 4 can't be entered etc" (Te habrás quedado en un bucle infinito porque nunca ponias el 4) Tienes que poner que no sea igual a 4 if (answer != 4 ). Con eso estas diciendo que si no es igual al número 4 que lo meta dentro del array y si es igual al numero cuatro que entre en el else y muestre por pantalla lo pertinente. Luego el else lo has ubicado en su sitio pero te sobran las 2 llaves esas externas.
sazyuerhace 10 meses
Ya va cogiendo color, he corregido los errores (gracias a ti) y va mejor ^^ ☺️
jrdev_angelhace 10 meses
solo te falta poner en la funcion esto:
sazyuerhace 10 meses
Y ya lo tendrias hecho con arrays y una funcion que ordena con el metodo burbuja o algoritmo burbuja como mas te guste llamarlo
sazyuerhace 10 meses
Listo!
jrdev_angelhace 10 meses
Cuando lo ejecuté me dio error...
jrdev_angelhace 10 meses
tienes un fallo en el segundo bucle, es for (int j = length - 1; j >= i; j--) y tu tienes esto puesto ===> for (int j = longitud - 1; j >= j--) te falta i y ;
sazyuerhace 10 meses
acuerdate que los bucles for tienen 3 partes, inicializacion de la variable (1), hasta donde(2) y como llegar(3) por decirlo de una forma
ejemplo, los numeros que hay entre parentesis son las 3 partes del bucle y no se ponen y los parentesis que estan con los números tampoco, es para que me entiendas ==> for (int i = 0 (1); i > 5 (2); i++ (3))