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 - Alex Rodríguez

Páginas: 1 2 3 4 [5] 6 7 8 9 10 ... 93
81
Hola, por favor leer el hilo https://aprenderaprogramar.com/foros/index.php?topic=1460.0 donde se indica cómo poner título a los temas de los foros.

El ejercicio pide <<Realizar una declaración de variables para las siguientes propuestas de programas. No es necesario crear los programas, sino únicamente indicar cómo se haría la declaración de variables.>>

Te pongo ejemplos:

c) Un programa que muestra la altura de una puerta con la mayor precisión posible

Si declaras int alturaPuerta; ¿Tienes la mayor precisión posible? No, porque int es un entero. ¿Cómo deberías declararlo para tener la mayor precisión decimal?


d) Un programa que nos pregunta el número de hermanos que tenemos (sin incluirnos a nosotros mismos) y nos muestra el número de hermanos totales que somos (incluyéndonos a nosotros).

Necesitaremos una variable como int numeroHnosSinIncluirnos; aquí usamos un entero porque el número de hermanos no puede ser decimal. Unicamente podrán ser 0 (no tenemos hermanos), 1 (tenemos un hermano, 2, 3, 4, etc.

Saludos

82
Hola, por un lado felicitarte por el código y por haber usado dos clases, con lo que usas la orientación a objetos. Como cuestión a mejorar tendríamos el nombre de las clases: el nombre de clase DeletreaFrase es poco adecuado. Yo le hubiera puesto quizás el nombre ManejadorDeFrases. Lee la explicación que se da en https://aprenderaprogramar.com/foros/index.php?topic=3035.msg13698#msg13698 sobre cómo nombrar clases, es algo relativamente importante dentro de la programación orientada a objetos.

Saludos

83
Hola, el código hace lo que se pedía en el ejercicio. No obstante es interesante revisar por ejemplo el hilo https://aprenderaprogramar.com/foros/index.php?topic=2873.0 donde puede verse que el código puede hacerse más compacto. Un aspecto deseable en la programación es evitar la repetición. Si te fijas repites varias veces if(cadena.substring(0,1).equalsIgnoreCase("a"))

Aquí no tiene demasiada importancia, pero son detalles en los que conviene irse fijando para mejorar.

Saludos

84
Hola, todo correcto: constructor, sobrecarga de nombres, métodos, etc.

Saludos

85
Hola, para tratar de responder veamos lo que dice el api de Java sobre los métodos de los objetos de tipo Iterator:

boolean    hasNext()     Returns true if the iteration has more elements.
E              next()                Returns the next element in the iteration.

El método hasNext() devuelve true si hay algún elemento de la colección que aún no se ha recorrido. El método next() devuelve el siguiente elemento dentro de la colección, entiendo que en el orden por defecto que esté establecido para esa colección. En un caso como este el orden viene dado por la posición del elemento dentro del ArrayList, por tanto next() nos devolverá en la primera petición el elemento 0, en la segunda petición el elemento 1 y así sucesivamente hasta devolvernos el último elemento de la colección. Una vez esto ocurre, hasNext() devuelve false porque ya no quedan más elementos por recorrer.

Lo que hacemos con este código es recorrer todos los elementos dentro del ArrayList de uno en uno, y comprobar si alguno contiene la cadena buscada.

Si ponemos como cadena a buscar J el resultado que obtenemos es:

La cadena que buscamos es J
Analizando elemento... Juan Pérez Sánchez
Cadena encontrada!!!
Analizando elemento... José Alberto Reverón Montes
Cadena encontrada!!!



Es decir, recorre cada uno de los elementos y encuentra la cadena dos veces, porque está en los dos elementos (tanto en Juan Pérez Sánchez como en José Alberto Reverón Montes)

Nota: una letra como J puede tratarse como un carácter o como una cadena de una sola letra. En este caso la hemos tratado como una cadena de una sola letra.

Espero que haya aclarado algo

Saludos

86
Hola, el ejercicio está correcto. En https://aprenderaprogramar.com/foros/index.php?topic=1972.0 se comenta una cuestión sobre precisión decimal que puede ser interesante leer.

Saludos

87
Hola, sí, solo se trataba de modificar la clase Casa como has hecho. En https://aprenderaprogramar.com/foros/index.php?topic=1220.msg6735#msg6735 hay una explicación importante, ya que como tú lo has hecho es una forma de hacerlo, pero posiblemente sean más interesantes otras. Ahora no te recomiendo que te detengas demasiado en esto, pero sí te recomendaría que más adelante volvieras a repasar este ejercicio para entender mejor por qué posiblemente sea más correcto crear un objeto nuevo con el set que establecer la igualdad con el objeto recibido. Pero como te comento, no te detengas ahora en esto, revísalo un poco más adelante.

Saludos

88
Hola Jlinos, el código está bastante bien planteado. En la clase Casa, están muy bien los constructores. En uno de ellos, que no recibe parámetros, se inicializan objetos SalonCasa y CocinaCasa vacíos. En otro, que sí recibe objetos como parámetros, se inicializan nuevos objetos que toman los atributos de los objetos recibidos.

Lo único que te ha faltado es:

- En la clase Casa, tienes 4 atributos. Cada uno de ellos debe tener métodos get y set, resultando un total de 8 métodos. Por tanto te faltan los métodos get y set de los atributos que son objetos. Una idea clave en Java es que hay que acostumbrarse a trabajar con objetos y tratarlos como cualquier otro atributo (teniendo en cuenta sus particularidades).

Por tanto deberías reescribir el código de la clase Casa para mejorar esto. Si quieres orientarte antes de hacerlo lee estos hilos:

https://aprenderaprogramar.com/foros/index.php?topic=1220.0

https://aprenderaprogramar.com/foros/index.php?topic=1238.0

Saludos

89
Hola, revisando lo que has comentado mi interpretación es la siguiente:

El código ejemplo debería tener la comilla de cierre que le falta en <h2 onclick="this.textContent='Uuuuuuh!">Haz click <span style="color:blue;">pero no existe un textContent modificable</span></h2>

El no tenerla es una errata que da lugar a que salte un error del tipo: SyntaxError: '' string literal contains an unescaped line break

Al introducir la comilla de cierre, lo que ocurre es lo que se explica en la entrega CU01136E: "Es importante resaltar que con textContent se extrae no sólo el texto directamente asociado al nodo, sino también el texto contenido en otros nodos hijos."

El texto del ejemplo debería ser en lugar de "Haz click pero no existe un textContent modificable" lo siguiente:

"Haz click para modificar el contenido del nodo padre e hijos"

Gracias por apuntarlo.

Saludos

90
Hola luislo, para escribir en los foros deben seguirse las indicaciones que se dan en https://aprenderaprogramar.com/foros/index.php?topic=1460.0

Debes escribir un título más explicativo, con el código de ejercicio en mayúsculas, e incluir el código con el que estés trabajando, así como hacer una descripción más detallada.

Por lo que comentas parece que no tuvieras bien instalado o no tuvieras activo el servidor web necesario para que se genere correctamente la página web cuando invocas la ruta adecuada en el navegador, pero haría falta más información. Por ejemplo ¿so accedes a http://localhost eres capaz de visualizar algo o no visualizas nada?

Saludos

91
Hola, no entiendo muy bien lo que se pretende, pero si fuera extraer parte de una cadena de texto que siempre tiene la misma longitud, puedes hacerlo con la función mid.

mid (String, num) devuelve todos los caracteres empezando a partir de la posición especificada del String

mis (String, num1, num2) devuelve num2 caracteres empezando por la posición num1 de carácter en el String.

Ejemplo

Código: [Seleccionar]
' Creates text string.
Dim TestString As String = "Mid Function Demo"

' Devuelve "Mid" porque toma los caracteres desde la posición 1 y toma 3 caracteres
Dim FirstWord As String = Mid(TestString, 1, 3)

' Devuelve "Demo" porque empieza en la letra 14 y devuelve 4 caracteres contando el inicial D-1, e-2, m-3, o-4
Dim LastWord As String = Mid(TestString, 14, 4)

' Devuelve "Function Demo" porque empieza en el caracter 5 (F) y devuelve todo el fragmento de cadena a partir de ese caracter
Dim MidWords As String = Mid(TestString, 5)

Saludos

92
Ahora bien. Posiblemente el método getDatosCasa() excede un tanto las responsabilidades que tendría un método de la clase Casa. Se dice que una clase es responsable de sus atributos, y por ejemplo el número de televisores no es un atributo de la clase Casa, con lo cual no debería manejarse dentro de esta clase. De cualquier forma esto no es muy relevante, el ejercicio está bien.

Saludos

93
Ahora bien! Es importante que pruebes tu código, un buen programador nunca deja su código sin probar.

Saludos

94
Hola Toshirou se comprueba un código bien trabajado por tu parte. Te hago algunas indicaciones de mejora.

Hay nombres de clases que no están correctamente puestos según los convenios que siguen los programadores Java. Por ejemplo en lugar de ProductosFrescos el nombre de la clase debería ser ProductoFresco. Puedes ver una explicación de cómo nombrar las clases en https://aprenderaprogramar.com/foros/index.php?topic=3035.msg13698#msg13698

Por otro lado, has creado una clase ProductosFrescos que lo único que hace es invocar a la superclase. Si no hace nada nuevo, ¿para qué quieres esta clase?

La clase ProductosRefrigYCongel la veo bien planteada para agrupar cosas comunes a los productos refrigerados y congelados.

Aunque el ejercicio no lo pide, si al imprimir el contenido del envío quieres imprimir primero los frescos, luego los refrigerados, etc. podrías hacerlo de la siguiente manera: primero recorres el envío y usando un if con instanceof vas añadiendo los objetos de cada tipo a una nueva lista. Una vez tienes todos los objetos en sus listas, recorres cada lista y los muestras. Hay ejemplo de uso de instanceof en https://aprenderaprogramar.com/index.php?option=com_content&view=article&id=666:sobreescribir-metodos-tostring-y-equals-en-java-ejemplos-y-ejercicios-resueltos-comparar-objetos-cu00694b&catid=68&Itemid=188, no obstante esto no es algo que se pidiera para esto ejercicio.

Puedes fijarte en esta otra solución del foro y compararla con la tuya: https://aprenderaprogramar.com/foros/index.php?topic=2959.0

Saludos desde España

95
Hola Toshirou. A tu código le faltaban los import. Se los he añadido, pero al intentar compilarlo me salta un error en la línea  var cantantes = new ListaCantantesFamosos();

¿Has probado que el código compile y funcione correctamente?

Saludos desde España

96
Hola, este ejercicio no está bien resuelto porque no se trabaja adecuadamente con los objetos que son atributos de la clase Casa. Por ejemplo no existen los métodos get y set para los atributos objeto. Comprender esto puede resultar un poco trabajoso.

Para el entendiemiento de estos conceptos recomendamos leer estos hilos con calma:

https://aprenderaprogramar.com/foros/index.php?topic=1220.0
https://aprenderaprogramar.com/foros/index.php?topic=1238.0

Una vez leídos, lo recomendable es volver a escribir la propuesta de solución al ejercicio pues así se verá si se han entendido bien los conceptos o no.

Saludos

97
Hola, ejercicio bien resuelto.

Saludos

98
Hola, este ejercicio no está bien resuelto.

El problema está en que aquí tienes un constructor que recibe parámetros, pero sin embargo has escrito:

Código: [Seleccionar]
    public Motor(int valorTipoBomba, String valorTipoFluido, String valorCombustible){
        tipoBomba = 0;
        tipoFluido = "";
        combustible = "";
    }

Los parámetros sirven para inicializar los campos de un objeto cuando se crea. Por ejemplo, voy a crear un objeto y le paso como parámetros tipo bomba 3, tipo fluido "liquido" y combustible "gasolina". Esos parámetros se usarán para inicializar el objeto. Sin embargo con tu código da igual los parámetros que le pases que el tipo bomba será cero, el tipo fluido ninguno (cadena vacía) y combustible ninguno (cadena vacía). ¿Entonces para qué sirven los parámetros? La inicialización a ceros o cadenas vacías se hace cuando no hay parámetros y por tanto no sabemos con qué valores se deben inicializar los objetos. Pero si el constructor tiene parámetros, será para utilizarlos.

Por otro lado, visto lo que ocurre cabe deducir que no has probado tu código. Es importante que cuando crees código lo pruebes. En este caso deberías haber creado un objeto en BlueJ como se explica en el curso y haberle introducido por ejemplo como tipo de bomba 3, y así comprobar que el código no funciona como debería.

Este código debería corregirse. Para ello puedes repasar tanto el curso como otros hilos del foro.

Saludos

99
Hola, el ejercicio está perfectamente resuelto.

Saludos

100
Aprender a programar desde cero / Re:Arboles Binarios en java
« en: 08 de Julio 2018, 13:14 »
Hola, para escribir en los foros se recomienda seguir las indicaciones que se dan en https://aprenderaprogramar.com/foros/index.php?topic=1460.0

En tu caso falta mucho código, tan solo has puesto un método. En este hilo se tratan los árboles binarios, quizás te sea de ayuda: https://aprenderaprogramar.com/foros/index.php?topic=1428.0

Saludos

Páginas: 1 2 3 4 [5] 6 7 8 9 10 ... 93

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