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 5 meses
sazyuerhace 5 meses
Exacto, sólo me falta el número 4
jrdev_angelhace 5 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 5 meses
Me dio este error
jrdev_angelhace 5 meses
Es numbers.sort no collections
sazyuerhace 5 meses
Ésto me da errores
jrdev_angelhace 5 meses
Corregido
jrdev_angelhace 5 meses
Normal, donde pone respuesta pon answer y declara el answer como un int a lo primero
sazyuerhace 5 meses
Modificado
jrdev_angelhace 5 meses
Lo que pones dentro del if en answer está mal, tienes que comparar, no asignar sería !=, no =
sazyuerhace 5 meses
Me funciona, solamente tengo que solucionar lo del número 4. Me dio falloal ordenar 5 y 6
jrdev_angelhace 5 meses
No entiendo que fallo te ha dado
sazyuerhace 5 meses
Buenos días que me ordenó mal el número 5 y 6
jrdev_angelhace 5 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 5 meses
Entiendo... entonces está mal...
jrdev_angelhace 5 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 5 meses
Ahora mismo estamos empezando java... Pero está bien porque no uso chatgpt
jrdev_angelhace 5 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 5 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 5 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 5 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 5 meses
Ofenderme no, es que parecía una broma, nada arreglado.
sazyuerhace 5 meses
No era una broma, simplemente necesito ayuda y te lo agradezco, ya que estoy empezando ☺️ .
jrdev_angelhace 5 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 5 meses
Ya va cogiendo color, he corregido los errores (gracias a ti) y va mejor ^^ ☺️
jrdev_angelhace 5 meses
solo te falta poner en la funcion esto:
sazyuerhace 5 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 5 meses
Listo!
jrdev_angelhace 5 meses
Cuando lo ejecuté me dio error...
jrdev_angelhace 5 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 5 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))