Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Ogramar

Páginas: 1 ... 14 15 16 17 18 [19] 20 21 22 23 24 ... 100
361
Buenas, esta consulta no acabo de entender a qué se refiere (además ha pasado un tiempo). Si te refieres a modificar por ejemplo las keywords, description, content, etc. de una página web, tienes que plantearte si tienes acceso o no al código fuente de la aplicación o si pretendes hacerlo desde algún script del lado del servidor o algo así.

Para plantear consultas es conveniente seguir las indicaciones que se dan en https://aprenderaprogramar.com/foros/index.php?topic=1460.0

Salu2

362
Buenas, la consulta que planteas es demasiado amplia. Lee en https://aprenderaprogramar.com/foros/index.php?topic=1460.0 unas orientaciones sobre pautas de participación en los foros, cómo poner título a los temas, forma de plantear consultas, etc.

Si no conoces Java, puedes obtener toda la información sobre las bases de Java en:

Tutorial aprender a programar en Java desde cero: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Salu2

363
Buenas, las respuestas en principio no son correctas, al menos no coinciden con la respuesta que se ha considerado correcta en otros hilos del foro. Revisa este hilo: https://aprenderaprogramar.com/foros/index.php?topic=3159.0

Compara tus respuestas con las indicadas y a partir de ahí podrás sacar algunas conclusiones

Salu2

364
Buenas paramonso, repetir que los títulos de los temas en los foros debe ponerse como se indica en https://aprenderaprogramar.com/foros/index.php?topic=1460.0

El ejercicio está correcto (en lugar de preguntarNombre veo que usas preguntarDatos pero la funcionalidad es la pedida en el ejercicio)

Salu2

366
Buenas LuisM, veo tu respuesta correcta. Por comentar algo más trataré de poner un ejemplo, aunque no es sencillo hablar de hilos pues es un concepto relativamente avanzado y muchos programadores no los utilizan precisamente por su carácter avanzado:

Supongamos una aplicación multihilo donde un hilo 1 se encarga de realizar la reserva de un determinado asiento en un avión, mientras que otro hilo 2 se encarga de consultar los asientos libres en el avión para servirlos a una página web e informar así a un usuario que quiere realizar una compra o reserva.

Supongamos que los asientos y si están libres u ocupados están localizados en una estructura de datos localizada en ciertas posiciones de memoria principal cuya escritura requiere 2 segundos y cuya lectura requiere 1 segundo (ejemplo no real).

Supongamos que a las 10:00:00 una persona ha comprado un asiento pero la escritura no se ha formalizado hasta las 10:00:02, mientras que otra persona ha consultado los asientos libres a las 10:00:01.

Si no existe sincronización, implica que no está establecido quién tiene preferencia para usar el recurso, en este caso la memoria, y el resultado sería que la persona que ha consultado el estado de los asientos obtendría como resultado que el asiento que ha comprado la otra persona está libre.

Cuando existe sincronización, implicaría que sí está establecido quién tiene preferencia para usar el recurso, y el resultado sería que la persona que ha consultado el estado de los asientos no podría conocerlo hasta que termine el otro hilo de trabajar.

No es un ejemplo real, pero creo que puede servir para entender cómo puede generarse una incosistencia en programación multihilo si no existe sicronización.

Salu2

367
Buenas, por un lado felicitarte porque se ve un código bien trabajado donde se manejan muchos conceptos. Por otro lado, veo que no te has ajustado a lo que pedía el enunciado, sino que has cambiado nombres y hecho cosas que no se pedían sino que has ido más allá. Para quienes tengan interés por profundizar en conceptos, les recomendaría revisar el código. En cambio para quienes simplemente busquen una forma de solucionar el ejercicio les recomendaría que miren en otros hilos del foro, pues esta solución excede a lo que propiamente pedía el ejercicio.

Salu2

368
Buenas LuisM el ejercicio 1 lo he repasado y funciona perfectamente y está bien planteado.

El ejercicio 2 me lanza un warning en compilación indicando Ejercicio2.java uses unchecked or unsafe operations. Recompile with -Xlintunchecked for details. Esto creo que sea debido a alguno de los casting que utilizas. Este ejercicio funciona también perfectamente. Veo un tanto extraño mantener por un lado los datos en un array tradicional y por otro usar un ArrayList para ordenar los datos. Creo que sería más "limpio" o bien trabajarlo todo en forma de ArrayList o bien usar una ordenación de arrays implementada manualmente. Pero eso no era el objetivo del ejercicio (cuyo objetivo era trabajar los aleatorios) así que todo bien.

Salu2

369
Buenas LuisM, el programa cumple con lo que se pedía y parece muy bien planteado el anidamiento de bucles con un código bien compacto. Lo único que no veo del todo limpio es int numeroOculto = (int)(rnd.nextDouble() * (finalRango-inicioRango) + inicioRango); ya que hacer un casting de double a int creo que no sería necesario, pudiendo directamente trabajar con enteros. De todas formas esto no es demasiado relevante aquí.

Salu2

370
Buenas, aparentemente el error puede deberse a que estás tratando de insertar o actualizar una fila de una tabla basándote en un id de otra tabla que no existe, aunque no veo claro cuál es la forma de trabajo del procedimiento

Salu2

371
Buenas Pepote21, al hacer pruebas he obtenido algo parecido a lo que indicadas (en mi caso unos 8.000.000 de tiempo con ArrayList frente a 24.000.000 con LinkedList aproximadamente). El tiempo invertido depende del computador sobre el que se ejecute el código.

En mi caso he obtenido esto:

EJECUCIONES CON LINKEDLIST

Resumen: hay 1238 coches, 1278 camiones, 1261 furgonetas y 1223 motos.
Se han eliminado de la lista 3762 vehiculos quedando 1238 coches
Se han invertido 23901571 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.


Resumen: hay 1280 coches, 1260 camiones, 1231 furgonetas y 1229 motos.
Se han eliminado de la lista 3720 vehiculos quedando 1280 coches
Se han invertido 33130768 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.


Resumen: hay 1247 coches, 1264 camiones, 1245 furgonetas y 1244 motos.
Se han eliminado de la lista 3753 vehiculos quedando 1247 coches
Se han invertido 21486611 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.


EJECUCIONES CON ARRAYLIST

Resumen: hay 1235 coches, 1267 camiones, 1271 furgonetas y 1227 motos.
Se han eliminado de la lista 3765 vehiculos quedando 1235 coches
Se han invertido 6992139 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.


Resumen: hay 1225 coches, 1268 camiones, 1225 furgonetas y 1282 motos.
Se han eliminado de la lista 3775 vehiculos quedando 1225 coches
Se han invertido 9395982 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.


Resumen: hay 1272 coches, 1230 camiones, 1226 furgonetas y 1272 motos.
Se han eliminado de la lista 3728 vehiculos quedando 1272 coches
Se han invertido 9999829 nanosegundos en eliminar y añadir vehiculos
Resumen: hay 5000 coches, 0 camiones, 0 furgonetas y 0 motos.


Hay una cosa que no me parece correcta en cómo has resuelto el ejercicio: tú no has implementado las listas como LinkedList ni como ArrayList, sino dentro de una clase creada por tí donde tienes como atributo de clase un LinkedList ó ArrayList. Es decir, no has trabajado indirectamente con las clases estructuras de datos en Java, sino indirectamente. Eso puede tener consecuencias que habría que analizar y no es lo que proponía el ejercicio, por eso veo más correcta una solución como la que se propone en https://www.aprenderaprogramar.com/foros/index.php?topic=5781.0

El ejercicio tal y como lo has planteado, desde mi punto de vista, no cumple con lo que se pedía

Salu2

372
Buenas Pepote21, código bien planteado. Hay distintas alternativas para resolver este ejercicio, no veo ninguna objeción a esta solución. Nota: repetir de nuevo, poner título a los temas según se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Salu2

373
Buenas paramonso, repeating again: look at https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 and please follow the rules to write in forums

He probado tu código en Firefox y no me ha funcionado correctamente. Inicialmente, me aparece un botón "Crear cuenta bancaria". Cuando lo pulso, aparece un formulario que pide Nombre, Apellidos e Ingreso Efectivo, pero no aparece ningún botón que permita hacer nada. Si relleno los datos y pulso fuera del formulario aparece un botón actualizar. Cuando pulso ese botón, aparece un error (NS_ERROR_XPC_SECURITY_MANAGER_VETO:)

En definitiva, no veo que el código funcione correctamente. Deberías revisarlo. Una cosa en la que me parece que has incurrido es en tratar de hacer un ejercicio más amplio y con mayor funcionalidad de lo que se pedía. Esto está bien, pero se corre el riesgo de desviarse y tener errores (a más código más posibilidad de tener errores).

Salu2

374
Buenas paramonso, repetir (una vez más) ... para poner título a los temas de los foros hacerlo como se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

El ejercicio está bien resuelto. Un único detalle a comentar, si escribo prueba at probando.com la cadena que queda es prueba @ probando.com que deja espacios intermedios.

Esto se puede solucionar haciendo el simple cambio de varEmail.value =Cambio.replace(/at/g,'@');

Por lo mismo introduciendo los espacios:

varEmail.value =Cambio.replace(/ at /g,'@');

De ese modo la cadena que quedaría sería prueba@probando.com

Salu2

375
Buenas, veo el ejercicio bien resuelto. En otros hilos se ha propuesto su solución usando BigDecimal, pero esta solución que has planteado aparentemente es buena porque es simple. Lo bueno, si simple, dos veces bueno.

Salu2

376
Buenas, quizás sea tarde pero por dar una idea a quien se le plantee una situación así, pienso que una opción es crear una vista usando el gestor de base de datos que se esté empleando, por ejemplo phpMyAdmin. Una vista viene siendo una tabla creada a partir de una consulta. Para ello en phpMyAdmin se debe ejecutar la consulta y una vez realizada pulsar en el enlace "CREATE VIEW". Al darle a create view debes poner un nombre de vista (view name) y los nombres de las columnas con que desees nombrar las columnas del resultado de la consulta. Una vez tengas la vista creada, puedes hacer consultas sobre ella. En este caso sería un SELECT * FROM nombre_vista WHERE 'current'=1

Salu2

377
Buenas, los apartados 1 y 2 los veo correctos. El ejercicio 3 aunque duplica el nodo cada vez que se pulsa en "Clonar" diría que no cumple con lo que pedía el ejercicio porque supuestamente debería clonarse el nodo al pulsar en el propio nodo, es decir, al pulsar en "Pulsa aquí para duplicar este nodo" y no al pulsar en el botón clonar. Es un detalle para adaptar la respuesta a lo que pedía concretamente el enunciado del ejercicio simplemente.

Salu2

378
Buenas paramonso, recuerda poner títulos adecuados a los temas (ver https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0)

El código es compacto y cumple con lo que se pedía. Lo veo todo bien, únicamente indicarte que yo en lugar de nodoA_Crear hubiera puesto como nombre nodoReferencia en lugar de nodoA_Crear pues me parece más claro, pero es solo un comentario.

Salu2

379
Buenas LuisM, al ejecutar el programa he obtenido un resultado que no concuerda con lo que dice el enunciado. El enunciado dice "Supón que un partido de fútbol tiene una duración de 90 minutos. El minuto 1 se considera que abarca desde los 0 segundos hasta los 59 segundos. El minuto 2 abarca desde los 60 segundos hasta los 119 segundos. Así sucesivamente..."

Por tanto si introdujéramos 60 segundos debería decirnos minuto 2 pero sin embargo obtengo esto:

Introduzca valor de segundos:
32
Los minutos transcurridos en el partido son :1
¿Otro valor (s/n)?
s
Introduzca valor de segundos:
60
Los minutos transcurridos en el partido son :1
¿Otro valor (s/n)?


Otro problema que he encontrado es que el bucle de control no responde bien: cuando pide s/n si se pulsa intro, aparece un error java.lang.StringIndexOutBoundsException, esto no debería ocurrir.

Deberías revisar el código

Salu2

380
Buenas LuisM, tu código funciona pero has hecho algo un tanto extraño. Has creado un array unidimensional de 4 países, otro array unidimensional de 12 ciudades (4x3=12, 3 ciudades para cada país), y un array multidimensional de 4x3

Luego vas pidiendo países y ciudades, y en la matriz vas almacenando

paisciudad[0][0] = 0;
paisciudad[0][1] = 1;
paisciudad[0][2] = 2;
paisciudad[1][0] = 3;
paisciudad[1][1] = 4;
paisciudad[1][2] = 5;

Es decir, vas asignando a cada elemento del array el índice de una ciudad, pero eso no parece tener mucha lógica. Si ya dispones de esos índices, ¿entonces para qué usar la matriz multidimensional?

La idea de este ejercicio es no usar arrays unidimensionales, sino únicamente una matriz multidimensional.

Para repasar los conceptos de array unidimensional y multidimensional y cómo pueden usarse e interpretarse sería conveniente hacerlo con el curso Bases de la programación nivel I: https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Puedes ver otras propuestas de solución para este ejercicio en los foros, también te pueden guiar para ver cómo podría ser una solución más coherente.

Salu2

Páginas: 1 ... 14 15 16 17 18 [19] 20 21 22 23 24 ... 100

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".