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 - César Krall

Páginas: 1 ... 14 15 16 17 18 [19] 20 21 22 23 24 ... 68
361
Hola! Quizás se hace un poco complejo ahora pero a medida que trabajes con objetos lo irás entendiendo todo. Piensa en un objeto como una caja dentro de la cual hay cosas (atributos y métodos). Ahora creas un objeto, una caja, y dentro tienes un cuchillo, una botella y otra caja, es decir, otro objeto, que tiene dentro tres monedas y un alfiler por decir algo.

Cada vez que creas un objeto, tienes de partida todos esos elementos (según indica el constructor). Ahora resulta que te llega por parámetro para el método set un objeto que tiene dentro cinco monedas y dos alfileres. ¿Qué puedes hacer?

a) Puedes sacar la caja con tres monedas y un alfiler, y a cambio poner la caja con cinco monedas y dos alfileres.

El problema es que en Java todo son referencias. Al poner la caja con cinco monedas y dos alfileres realmente no ponemos la caja, sino una referencia a la caja. La caja sería única, pero varias personas tienen la llave de la caja (referencia) de modo que si una manipula la caja, la otra persona cuando llegue se va a encontrar que alguien hizo un cambio pero a lo mejor una de las personas con la referencia no quería que otra persona hiciera cambios.

En resumen, supón que tenemos 4 objetos y en los cuatro pasamos como parámetro para un set la caja con cinco monedas y dos alfileres. Ahora en uno de esos 4 objetos hacemos una manipulación y dejamos 2 monedas y 2 alfileres. Sólo hemos hecho la manipulación desde uno de los objetos, pero como los otros tienen todos la referencia en vez del objeto en sí, cuando vayan a buscar se encontrarán que hay 2 monedas en lugar de las cinco que esperaban.

Esto muchas veces no se quiere que suceda. ¿Qué se hace entonces?

b) Cuando me llega como parámetro de un método set no me quedo con la referencia, sino que digo: creo un objeto nuevo, cocina = new CocinaCasa();

Ahora dentro del nuevo objeto nuevo coloco una copia de lo que había en el objeto recibido por referencia:

        cocina.setEsIndependiente(objetoCocina.getEsIndependiente());
        cocina.setNumeroDeFuegos(objetoCocina.getNumeroDeFuegos());

Ya tengo un objeto que es igual al recibido por parámetro pero que es un nuevo objeto, tiene una nueva referencia (en memoria). De modo que si ahora manipulamos el nuevo objeto creado, sólo lo afectamos a él, porque tiene una referencia única (nueva que hemos creado, puesto que hemos creado un nuevo objeto).

Como te decía puede ser un poco confuso, trata de ir leyendo más hilos del foro (encontrarás muchas explicaciones interesantes) y seguir avanzando y haciendo ejercicios entendiendo lo que haces, si tienes dudas vete consultando para intentar comprender todo lo que se trabaja en el curso.

Saludos!

362
Hola! Los métodos como setSalonCasa no los tienes bien definidos. Una clase opera solo con sus atributos, en este caso el atributo es un objeto de tipo SalonCasa y eso sería lo que debe recibir el método (no un número de televisores y un tipo de salón que son atributos de otra clase).

Consulta las explicaciones en https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0

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

Ahí hay explicaciones de interés en relación con estos ejercicios

Saludos!

365
Hola! No es difícil encontrar buenos editores para mac que te pueden servir de alternativa, por ejemplo:

TextWrangler – Opción gratuita. Se integra perfectamente en el sistema operativo y soporta gran mayoría de los lenguajes más utilizados. Está en inglés. http://www.barebones.com/products/textwrangler/

Editra – Es gratuito y en español. Con una interfaz similar a Notepad++. http://editra.org/download


Saludos!

366
Hola! El razonamiento que has hecho es correcto, para invocar un constructor en otra clase, tienes que haber definido un constructor con la misma forma que invocas. Si no está el constructor en la otra clase te saltará un error.

He visto que como pones como nombre de parámetro classSalonCasa, te recomiendo que no uses nombres de este tipo porque class es una palabra reservada del lenguaje y un nombre así resulta confuso. Sería mejor objetoSalonCasa que no da lugar a confusiones.

Por otro lado tu código está incompleto, te faltan los métodos getters y setters de la clase Casa

Saludos!

367
Hola! Veo que lo has resuelto, gracias por poner la solución

Saludos!

368
Hola atreyumu!

Puedes guiarte por estos ejemplos para ver cómo operar:

Insertar datos DataGridView consulta base datos Access SELECT WHERE con variable: https://www.aprenderaprogramar.com/foros/index.php?topic=3315.0

Visual Basic 2012 (Pregunta) Botón de agregar a Datagridview conectado a access: https://www.aprenderaprogramar.com/foros/index.php?topic=1562.0

Edición datagridview (editar, guardar) en tiempo de ejecución Visual Basic: https://www.aprenderaprogramar.com/foros/index.php?topic=1029.0

Cómo crear un DataGridView mediante código en Visual Basic .NET:  https://www.aprenderaprogramar.com/foros/index.php?topic=3467.0

Como guardar datos DataGridView Visual Studio 2010 insertar filas (Visual Basic): https://www.aprenderaprogramar.com/foros/index.php?topic=745.0

Puedes ver más ejemplos introduciendo "DataGridView" en el buscador del foro

Saludos!

369
Hola! Tienes que diferenciar los parámetros que recibe el método ("información que viene desde fuera") respecto de la información que puede manejar el método (que puede ser tanto información que venga desde fuera como información propia de la clase, información local del método, etc.)

En este caso que el método pida datos al administrador no significa que esa información tenga que venir en forma de parámetros cuando se invoca el método. Simplemente significa que el método realizará esa tarea.

Esto es quizás no demasiado sencillo de entender a estas alturas del curso, pero continúa avanzando y a medida que avances lo irás comprendiendo mejor.

Saludos!

370
Hola! Tienes razón que lo pone el enunciado del ejercicio (y Java lo admite) pero en general recomendamos no usar eñes ni tildes para evitar problemas. Saludos!

371
Hola!

Parece todo bien pero te ha faltado el apartado d) del ejercicio que pedía "d) Un botón que permita limpiar todo lo que se haya marcado y volver a la situación original (es decir, que la calculadora se vea tal y como se veía inicialmente)."

Saludos!

372
Hola!


1) public float getDuracionCancion(int numeroCancion){...} - es tipo función, CORRECTO

2) public void setDuracionCanciones(int duracionCancion[]){...} - es tipo procedimiento, NO CORRECTO. El enunciado no dice que haya de pasarse como parámetro nada. La respuesta sería algo como saludaAndSolicitaCancionesConSuDuracion ( ) - es tipo procedimiento.

3) public getDuracionDisco(){...} - es tipo función, CORRECTO

4) public void setDisco(String titulo, int duracionCancion){...} - es tipo procedimiento, NO CORRECTO. La duración de la canción puede ser un número decimal, por ello debería usarse  public void addCancionDisco(String titulo, float duracionCancion){...}

El nombre de método setDisco tampoco es correcto, set se usa para establecer el valor de un atributo, setDisco no sería un nombre adecuado.

Saludos!

373
Hola Pedro! Muchas gracias por tus valoraciones. Sobre cómo adquirir conocimientos más avanzados con JavaScript en mi opinión depende de cómo quieras enfocarte:

- Si quieres convertirte en un profesional avanzado de JavaScript, tendrías que seguir estudiando el propio JavaScript. Para ello podrías usar un libro como Secrets of the JavaScript Ninja de John Resig y Bear Bibeault

- Si quieres orientarte al desarrollo web con limitaciones de tiempo estaría bien aprender un framework entre los que hay muchos, creo que jQuery y AngularJS serían interesantes.

Sea como sea, te agradeceremos si sigues estudiando que vayas dejándonos en los foros los ejercicios o ejemplos que vayas desarrollando, eso puede servir de guía y ayuda para muchas personas.

Saludos!

374
Hola Bcks7! Echale un ojo a este hilo y las explicaciones que incluye, https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0

Saludos!

375
Hola! Si se trata de un programa para escritorio (no una aplicación web) es igual de viable realizarlo con cualquiera de los lenguajes generalistas, entre ellos:

- Visual Basic

- Java

- C#

Se encuentran entre los posibles lenguajes, habría más. Cualquiera de ellos puede serte útil.

Saludos!

377
Hola! Para analizar lo que ocurre sería necesario todo el código, incluido el HTML.

Es probable que no tengas algo bien planteado.

El proceso normal sería:

1. Tenemos un formulario donde el usuario introduce los datos y que envía a una url llamémosla validacion.php

2. En validacion.php se comprueba si los datos son correctos y según lo sean o no se hace una cosa u otra

Si lo que quieres es mostrar los resultados de validación sobre la propia pantalla inicial del formulario (lo cual es complicarse un tanto) necesitarías enviar a la propia pantalla del formulario información indicando si se trata de una validación o de una entrada de datos. Esta información podría ser un envío con post del valor de una variable (o con una variable de sesión)

Una alternativa interesante puede ser usar Ajax para validar en la propia pantalla del formulario pero sin necesidad de enviar a otra pantalla, sino hacerlo en segundo plano impidiendo que el formulario se envíe si no cumple la validación. Para esto necesitas Ajax, se explica en el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=83&Itemid=212

Saludos!

378
Hola! Te voy respondiendo:

Se puede implementar Concurrencia en java usando BLUEJ ?

Sí, BlueJ usa la misma máquina virtual Java  que cualquier otro entorno, por tanto puedes hacer con BlueJ cualquier tipo de programación Java.

Hay mucha diferencia entre el IDE BLUEJ y NetBeans ?

Sí, NetBeans es un entorno pensado para el desarrollo profesional, bastante completo y complejo. BlueJ es un entorno pensado para el aprendizaja, bastante sencillo e intuitivo.

Y entre BLUEJ y Eclipse, que diferencia hay ?

La misma que con NetBeans.

Si simplemente quieres aprender concurrencia en Java puedes usar BlueJ sin ningún problema.

Saludos!

380
Hola! Los ejercicios de cada entrega van destinados a practicar los conceptos explicados. Por tanto en la entrega CU01142E la idea es usar funciones para cadenas, y en la entrega CU01155E la idea es usar expresiones regulares.

Saludos!

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

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