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 [2] 3 4 5 6 7 ... 91
21
Buenas, para quien revise este ejercicio, las respuestas son correctas. Si se quiere ver algún comentario adicional puede verse https://aprenderaprogramar.com/foros/index.php?topic=2354.0

Salu2

24
Buenas, para quien revise este ejercicio, funciona correctamente, si bien se utilizan herramientas de programación que no se han explicado en el curso (como try-catch ó String.format), por lo que si se quiere ver una respuesta que se ciñe a los contenidos del curso puede consultarse https://aprenderaprogramar.com/foros/index.php?topic=2353.0

Salu2

25
Buenas, para quien revise este ejercicio, funciona correctamente. Es también un ejemplo de uso de JOptionPane para pedir datos a través de una ventana (aunque esto no se trabaja en el curso, donde básicamente se utiliza la consola, por tanto no es requisito el uso de ventanas).

Salu2

26
Buenas, ejercicio correcto, cuyo único objetivo es familiarizarse con el uso de javadoc. Salu2

27
Buenas, para quien revise este hilo, el código funciona correctamente. Como único detalle a comentar, en el código se usa un for extendido Java y dentro de este, un iterator. El ejercicio indicaba "e) Usa iteradores para recorrer los elementos del ArrayList y recorrer el contenido de cada uno de los elementos y mostrar este contenido por pantalla. Por pantalla deberás obtener “sol”, “luna”, “saturno”, 8, 5, 2."

Puede verse una solución donde sólo se usan iteradores en https://aprenderaprogramar.com/foros/index.php?topic=2384.0

Al compilar aparece el mensaje "Warnings from last compilation ... uses unchecked or unsafe operations. Recompile with -Xlint.unchecked for details pero en este caso no veo que tenga trascendencia, el manejo de tipos es correcto.

Salu2

28
Buenas, para quien revise este ejercicio, funciona correctamente y realiza lo que se pedía. Podrían comentarse algunos detalles sobre eficiencia en el uso de recursos (espacio de memoria) y mantenibilidad del código, aunque no es el objetivo del curso entrar en estos detalles. No obstante, para quien tenga curiosidad, dejo una pregunta en el aire: si comparamos este código con el propuesto en https://aprenderaprogramar.com/foros/index.php?topic=4198.0 ¿Qué ventajas tendría uno y otro? ¿Qué ocurriría si en vez de veinte o treinta datos trabajáramos con miles de datos?

Salu2

29
Buenas, para quien revise este ejercicio y quiera ver una respuesta correcta y simple puede consultar https://aprenderaprogramar.com/foros/index.php?topic=2213.0

Algunos comentarios sobre lo indicado en este hilo. Aquí se produce una curiosidad: la interface Iterable define 3 métodos que son iterator(), spliterator() y forEach() por lo cual parece lógico pensar en que para implementar la interface, haya que definir estos tres métodos. Sin embargo, si queremos implementar la interface únicamente hay que definir el método iterator(), porque los otros dos disponen de una implementación por defecto, detalle que ocurre con algunas interfaces Java. No es recomendable detenerse en esta entrega del curso en estas cuestiones, porque Java tiene muchos detalles y en el curso no se pretende entrar en los detalles, sino en los conceptos más importantes. De cualquier forma, para quien quiera leer un poco sobre el tema, copio algo de información (en inglés):

Citar
You don't have to implement spliterator() and forEach() methods. Those methods were introduced in Java 8 and they have a default implementation.

As to what they do :

spliterator() creates a Spliterator over the elements described by this Iterable. A Spliterator is used for traversing and partitioning elements of a source (which can be, for example, a Collection). It is used in Java 8 to create parallel Streams of objects, which would allow you to perform operations on the items of your Iterable in parallel.

forEach(Consumer action) performs an action (by calling the accept method of the Consumer which is passed to it) on all the elements of the Iterable.

Its default implementation behaves like :

 for (T t : this)
     action.accept(t);

You just have to implement the iterator() method, which returns an Iterator.

Of course you can read all of this in the JavaDoc of Iterable.

Salu2

30
Buenas, para quien revise este hilo, se trata del código correspondiente a la propuesta (no está contemplado formalmente como ejercicio) que se hace al final de la entrega CU00676B del curso, donde se indica "Escribe un fragmento de código utilizando esta signatura del método fill y comprueba sus resultados."

Una curiosidad que podemos comprobar en este y en otros casos, es que definido int fromIndex=5, toIndex=8; el resultado es que el array de 10 elementos que inicialmente se rellenó con fill siendo todos sus elementos 33, al rellenarse con 34 entre los índices indicados queda como 33,33,33,33,33,34,34,34,33,33

La curiosidad está en que los elementos que se han sustituido son el 5, 6 y 7 (empezamos a contar desde cero). El 8 está excluído. ¿Por qué? Si consultamos la signatura del método fill utilizado en el api Java encontramos esto:

Citar
public static void fill(int[] a,
                        int fromIndex,
                        int toIndex,
                        int val)

Assigns the specified int value to each element of the specified range of the specified array of ints. The range to be filled extends from index fromIndex, inclusive, to index toIndex, exclusive. (If fromIndex==toIndex, the range to be filled is empty.)

Donde comprobamos que se define que el índice fromIndex está incluído, mientras que el índice toIndex está excluído. ¿Por qué? Porque así lo decidieron los creadores del Api Java.

Salu2

31
Buenas, para quien revise este ejercicio, la solución propuesta no sigue exactamente lo que se pedía en el curso. Puede consultarse una solución que cumple con lo indicado en el curso en https://aprenderaprogramar.com/foros/index.php?topic=2261.0

Salu2

32
Buenas, para quien revise este ejercicio, la idea aquí era tan sólo ver la forma de organizar proyectos con packages java, y eso está conseguido. El código de las clases aquí no tiene importancia.

Salu2

33
Buenas, para quien revise este ejercicio, hay varias cosas incorrectas en cuanto a que no se adapta a las propuestas del curso y/o a los estándares habituales adoptados por convención en la programación Java.

En la clase ListaCantantesFamososCU00666B hay un atributo String nombreCantante; que no tiene mucho sentido, de hecho ni siquiera es utilizado (por tanto, sobra).

Otro incumplimiento de las propuestas del curso es no declarar los atributos de clase con el modificador private. Debería usarse private ArrayList <String> listaCantantes; en lugar de ArrayList <String> listaCantantes;

Y derivado de lo anterior, deberían usarse métodos get en lugar del acceso directo a atributos (como se hace por ejemplo en la clase test donde se invoca listado.listaCantantes

Otra cosa de diseño poco acertado es en la clase test usar el bucle for-each con el condicional if (k==0). Esto es una complicación innecesaria para el código.

Puede verse una solución correcta de este ejercicio en https://aprenderaprogramar.com/foros/index.php?topic=2262.0

Salu2

34
Buenas, para quien revise este ejercicio, en general todo bien. Comento un par de cosas:

En la clase NumeroAleatorio hay una línea comentada

numeroAleatorio=numAleato.nextInt(100)+1 ;// ¿Para que sea 1 el numero menor y 99+1 = 100 el mayor? ¿?

Efectivamente, si consultamos el api Java podremos ver:

nextInt(int bound)
Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.

Por tanto nextInt(100) genera un número entero aleatorio entre 0 (incluido) y 100 (excluído), por tanto entre 0 y 99. Al sumarle 1, lo que tenemos es que se obtendrá un número aleatorio entre 1 y 100.

Otro detalle: si se quiere evitar el parseInt tmpEntrada=Integer.parseInt(entrada.getEntrada()); que aparece en la clase test, puede usarse
entradaTeclado = entradaEscaner.nextInt (); en lugar de entradaTeclado = entradaEscaner.nextLine ();

Salu2

35
Buenas, para publicar en los foros deben seguirse unas normas básicas que están explicadas en https://aprenderaprogramar.com/foros/index.php?topic=1460.0
Te recomiendo que vuelvas a publicar el mensaje siguiendo esas indicaciones.
Salu2

36
Buenas Mafer, para poner título a los temas mírate el hilo https://aprenderaprogramar.com/foros/index.php?topic=1460.0

Echale un vistazo a lo que se comenta en https://aprenderaprogramar.com/foros/index.php?topic=1814.0 sobre el header que estás intentando usar, creo que te puede ayudar algo.

También si escribes la palabra redirección en el buscador del foro puedes encontrar otros hilos sobre redireccionamiento.

No puedes introducir un header si ya has enviado algún contenido. En tu caso estás enviando contenido antes de usar el header.

A priori lo que se me ocurre es que desde la página de login, tu botón de envío de datos debe llegar a la página de aterrizaje y recibir los datos del login. En esa página harías el condicional para decidir la redirección sin antes generar ninguna salida.

Salu2

37
Buenas venecox, para poner título a los temas mírate el hilo https://aprenderaprogramar.com/foros/index.php?topic=1460.0 e intenta poner los títulos como se indica ahí (evitar por ejemplo un título de una sola palabra porque no ayuda en nada a localizar o resolver el tema). Mira también cómo pegar código en los foros para que quede con formato de código.

El código que has pegado supongo que está dentro de un código más amplio y habría que ver otras cuestiones (como el JavaScript que pueda tener asociado) para valorarlo. A simple vista se ven cosas un tanto extrañas como que el form no tenga un action definido y la mezcla de mensajes de validación con campos de petición de datos. Tampoco parece código HTML bien construido, por ejemplo los label englobando otras varias etiquetas y otras cuestiones como el uso de br.

Si lo que pretendes es el envío de un correo electrónico cuando se pulse en un botón enviar necesitas un lenguaje del lado del servidor como php.

Puedes ver cursos de programación web (HTML, CSS, JavaScript, PHP) en https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86

Salu2

38
Buenas Luis, mira el hilo https://aprenderaprogramar.com/foros/index.php?topic=1460.0 donde se dan unas indicaciones básicas sobre cómo poner título a los hilos en los foros, cómo pegar código, etc.

En general, si no se trata de un código de grandísima extensión, es preferible pegarlo tal y como se indica en el hilo que te he indicado, en lugar de subirlo como archivo adjunto. El motivo es que facilita el que se lea más rápido y se pueda copiar y pegar para hacer pruebas rápidas.

¿Estás utilizando C ó C++? Veo que el archivo tiene extensión cpp aunque en la pregunta indicas que se trata de C. Si estás iniciándote en C te será útil este curso de programación básica en C: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210

Por contra si estás en un nivel avanzado ese curso te resultará demasiado básico.

Una cuestión que creo que falta es que describas qué es lo que quieres hacer. Pon por ejemplo varias operaciones para ver cómo debería responder el programa, es decir, qué debería ver el usuario, cómo debería responder el programa cuando se introduzcan datos, etc. Por ejemplo no es lo mismo la división entera que la división decimal. Si quieres resultados con decimales no puedes almacenarlos en un tipo int. Todo este tipo de cuestiones hay que tenerlas claras antes de programar una solución.

Salu2

39
Buenas janegg, para poner título a los temas mírate el hilo https://aprenderaprogramar.com/foros/index.php?topic=1460.0 e intenta poner los títulos como se indica ahí (evitar por ejemplo ayuda por favor porque eso no ayuda en nada a localizar o resolver el tema).

No estoy seguro de que el código esté bien diseñado. Por un lado añades elementos sobre un JFrame que es jf y por otro lado tienes una sentencia add(panel) que está añadiendo el panel sobre el objeto this que no es lo mismo que jf, con lo cual al mostrarse this se te muestra vacío ya que no has añadido los diferenes elementos a this, sino a jf

En lugar de add(panel) deberás indicar que el panel se añade al JFrame así:

 jf.add(panel);
 jf.setSize( 500, 500 );
 jf.setVisible(true);

A mí al menos con este cambio se me muestran los JLabel, JTextField, etc.

Salu2

40
Buenas, puedes mirarte el curso de creación y administración web Joomla desde cero disponible en https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=38&Itemid=152

Salu2

Páginas: 1 [2] 3 4 5 6 7 ... 91
Esto es un laboratorio de ideas...
Aprender a programar

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".