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 - toni_apr

Páginas: 1 2 [3] 4 5 6 7 8 ... 25
41
Hola RaGa

En tu código has pasado por alto cosas ya sabidas.

En la clase Vehiculo tienes un método setVehiculo que no corresponde a ningún atributo de la clase, este método gestiona al mismo tiempo los atributos matricula y marca.

Ya sabes que cada setter debe hacer una sola cosa, a saber: modificar/cambiar/establecer el nuevo valor para el atributo que gestiona.

Aunque siguiendo las intrucciones que presentas, en el IDE de BlueJ puedes crear un objeto de tipo Vehiculo que tiene un atributo enumerado, en tu código falta el método main que permitiría a tu código ejecutarse fuera del entorno que crea el IDE BlueJ.

Estoy seguro de que puedes adaptar tu programa para que cumpla estos requisitos.

Asi que manos a la obra, y nos vemos.

42
Hola Lorenzo

Respuestas correctas.
Ejercicio perfecto.

Adelante.

43
Hola calderas

He hecho unos cambios en tu código que no presentan warnings
Código: [Seleccionar]
import java.util.HashSet;
import java.util.TreeSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.Iterator;

public class TestVariablePolimorfica
{
    public static void main(String[]args){
        List<Set>miLista=new ArrayList<Set>();
        Set<String>miListaDeStrings=new HashSet<String>();
        Set<Integer>miListaDeIntegers=new TreeSet<Integer>();

        miListaDeStrings.add("luna");
        miListaDeStrings.add("sol");
        miListaDeStrings.add("saturno");

        miListaDeIntegers.add(2);
        miListaDeIntegers.add(8);
        miListaDeIntegers.add(5);

        miLista.add(miListaDeStrings);
        miLista.add(miListaDeIntegers);

        //         for(List tmp: miLista) {
        for(Set tmp:miLista){
            Iterator it=tmp.iterator();
            if(tmp instanceof HashSet) {
                System.out.println("Elementos del HashSet.");
            } else {
                System.out.println("Elementos del TreeSet.");
            }
            int i = 0;                               
            while(it.hasNext()){
                System.out.println("i: " + (i++) + " - " + it.next());
            }
        }
    }
}

Como verás, aunque todos los objetos que se piden en el enunciado se crean del tipo especificado, se declaran todos con el interface Set de forma que todos tienen un interface común.
Además el iterador dentro del for each no especifica de que tipo se creará, espera recibir el objeto y dinámicamente usa el tipo que recibe.
El warning en tiempo de compilación se debe a que la línea del iterador advertía que no había garantia de que se recibiera el tipo requerido en tiempo de ejecución.

Respecto al orden de salida de los elementos.
No, no se especifica ese orden específico. Aunque el objeto TreeSet permite con su método descendingIterator() obtener la salida en orden inverso.

Espero haberte ayudado

Saludos

44
Hola Dan

Si tu objeto de tipo Casa y nombre casita tiene 4 atributos, a saber:
un double, un String, un SalonCasa y un CocinaCasa
El setter del atributo superficie de tipo double será este:
Código: [Seleccionar]
    public void setSuperficie(double ingresoSuperficie){
        superficie = ingresoSuperficie;
    }
Pues utilizando la misma sintaxis el setter del atributo salonCasa de tipo SalonCasa será:
Código: [Seleccionar]
    public void setSalonCasa(SalonCasa ingresoSalonCasa) {
        salonCasa = ingresoSalonCasa;
    }
Esta es una primera forma de crear el setter para el atributo salonCasa, ahora veremos otra:
Código: [Seleccionar]
    public void setSalonCasa(SalonCasa ingresoSalonCasa) {
        salonCasa = new SalonCasa(); // esta instrucción te asegura que tienes un nuevo objeto de tipo SalonCasa cuyos atributos rellenarás seguidamente con los datos que obtienes de ingresoSalonCasa.
        salonCasa.setNumeroDeTelevisores(ingresoSalonCasa.getNumeroDeTelevisores());
        salonCasa.setTipoSalon(ingresoSalonCasa.getTipoSalon());
    }

Luego con el atributo cocina de tipo CocinaCasa habremos de hacer lo mismo para crear su setter.

Saludos

45
Hola arcanFAC

Tu ejercicio presenta de cada parámetro un caracter de más de los que se piden.

Solo tienes que arreglarlo y a otra cosa.

Saludos

46
Hola arcanFAC

Ejercicio correcto.

La aritmética y las matemáticas no son problema para Java

Saludos

47
Hola arcanFAC

En este ejercicio has de aplicar las recomendaciones que te da Ogramar en el ejercicio anterior CU00641B.
Son dos ejercicios muy similares.

Saludos

48
Gracias Alex

Voy a guardar tus precisiones como oro en paño.

Saludos y hasta otra.

49
Hola RaGA

He visto tu segunda versión, la que da los warnings. Y después de darle mis vueltas, no sé como eliminarlos.
Espero que alguien que sepa más pueda indicarte.

Por mi parte quiero señalar  que en el enunciado se pide hacer el recorrido con iteradores. Y los iteradores se usan con while.

Si ya has hecho el ejercicio con iteradores y while y quieres probar con for each, bien. Pero si no, pruébalo primero así.

Saludos

50
Hola arcanFAC

En tu ejercicio haces exactamente lo que se pide en el enunciado. Definir atributos y crear constructor.

Bien, pero mal.

A estas alturas del curso, obviamos indicar que una clase con atributos debe tener sus setters y getters.
Además, en el propio enunciado se indicaba
Citar
Comprueba que se inicializan correctamente consultando el valor de sus atributos después de haber creado los objetos.
Para averiguar el valor de  un atributo debe existir al menos el getter.

Así que, ánimo y a codificar. Si tienes alguna duda, aquí nos tienes.

Saludos

51
Hola Lorenzo

Respuestas correctas, las dos.

En la primera respuesta se te ha colado Groucho Marx con un coco cocido.

Por cierto, bromas a parte.
Si el objeto que has añadido a la lista no era anónimo. Puedes acceder a él también con el nombre que tiene fuera de la lista.
Ejem.

    persona1.setNombre("Luis");
    lista.add(persona1);
    persona1.setNombre("Juan");

Si ahora miras el nombre de la persona dentro de la lista, verás que su atributo nombre es Juan.

Saludos

52
Hola Lorenzo

Tu ejercicio está muy bien.

Aquí te pongo unos comentarios a tu código:

En la clase del main declaras la boolean semaforo que no interviene en el código excepto que le cambias el valor, pero no se usa para decidir la condición del while.

Tus programas tendrán otra vista si dan un mensaje de entrada y otro de salida, por ejemplo:
    System.out.println("Y aqui se terminó el programa");


En tu clase ListaCantantesFamosos creas el método añadirCantante que realiza dos tareas. Una crear un CantanteFamoso y luego añadirlo a su lista.
Crear un cantante es tarea de la clase CantanteFamoso no de la clase ListaCantantesFamosos
Este método en lugar de recibir dos String debería recibir un objeto de tipo CantanteFamoso para añadirlo a su lista.


En la clase EntradaDatos, sin ser un error, que no lo es. No hace falta cargar la clase Character (todo el paquete lang se carga por defecto)

Estas dos líneas tienen el mismo efecto:
    } while(entrada.length()<1);
    } while(entrada.isEmpty());


Te recomiendo recompongas el ejercicio. Adaptando el método añadirCantante de la clase ListaCantantesFamosos para que trabaje con objetos de tipo CantanteFamoso, no con  String

Saludos

53
Hola jogonzalez

Por lo que veo en las clases que envías, parece que las escribes pero no las compilas ni las pruebas, pues dan errores al compilar.

Tienes errores de sintaxis que el compilador te dice como solucionar, esto es otra muestra de que no compilas.

Tú como creador del código, eres el primer interesado en comprobar que tu código funciona bien.

Te pido que antes de enviar tu código lo compiles. Y si te surgen dudas que no sabes como solucionar, aquí nos tienes para ayudarte.
Pero primero te tienes que ayudar a ti mismo.

En la cabecera de la clase tienes esta línea que presenta un error
    public class SalonCasa(){
(Mira como empiezan otras clases.)

Saludos

54
Hola calderas

Tu ejercicio presenta la información solicitada, pero no utilizas el código correcto.

Se pide extraer la información de la lista 'miLista' que contiene elementos que pertenecen al interface Set

Piensa que después de estas instrucciones:

        miLista.add(miListaDeStrings);
        miLista.add(miListaDeIntegers);

si ejecutas las siguientes:

     miListaDeStrings = null;
     miListaDeIntegers = null;

¿Cómo sacarías la información de la lista 'miLista'?

Ahí está el ejercicio. Si tienes alguna duda consulta en el foro.

Saludos.

55
Hola richard

Para solventar, el error en la línea:

           int entradaTeclado = entradaEscaner.nextInt ();    // Dará la entrada como INT primitivo

del método pedirEntrada() en la clase EntradaDeTeclado2, quita el 'int' del principio.

Con este int creabas una variable local independiente del atributo de la clase se siempre era 0.

Tu ejercicio utiliza muchos recursos para manipular un único número aleatorio.
La versión de urdaneta es más compacta.

Saludos

56
Hola Lorenzo

Si, es cierto que tu versión con menú es más versatil.
Y veo que has sabido adaptarte a la nueva situación. añadirNombre == true

Mis felicitaciones.

Saludos

57
Hola Alex

Tomo nota de tus recomendaciones.
Me hago cargo que mi nomenclatura 'particular' choca con la que se usa en el mundo de Java. Voy a poner empeño en enmendar eso.

Quiero agradecerte la dedicación que me prestas. Y abusando de ella te traslado mis cavilaciones para que me enmiendes si es el caso.

A los conceptos:

Campo de clase
Atributo
Variable

se les identifica con un nombre (véase: precio, edad, taxi1, etc.) del que podemos decir que es una referencia ya sea al primitivo o al objeto creado

Si la referencia apunta a un objeto, también podemos decir que es una referencia a una instancia de una clase

En el transcurso de la vida de un objeto, nunca nos comunicamos con el objeto sino con su referencia o referencias (si hay varias)

Pensando en el nombre que se utiliza para bautizar la referencia a un objeto
(Véase persona1 en la instrucción: Persona persona1 = new Persona())

¿Es incorrecto decir:?
1   el objeto persona1 tiene esto y aquello...

¿Es correcto decir:?
2   la referencia persona1 a un objeto de tipo Persona tiene esto y aquello...
   o
3   la instancia persona1 de la clase Persona tiene esto y aquello...

La frase 1 la entiende todo el mundo, aunque persona1 no es un objeto sino una referencia a un objeto.
Entonces ¿cómo debe nombrarse un objeto dentro de una exposición si lo único que tenemos disponible es el nombre que tiene la referencia a ese objeto.?
Se me hace difícil reprimir el uso de la palabra objeto cuando se habla instancias de clase en Java:

Alex, me detengo aquí, porque esto se alargaría.

Apreciaré tus indicaciones.

Saludos.

58
Hola emma

Tu ejercicio esta bien excepto en una cosa, un pequeño detalle en el método dimeTipoMotor

Este método debe devolver un mensaje según el tipo de motor, pero no el tipo que introduzcamos como parámetro, sino el valor del atributo tipoBomba de la clase.

Aparte de esto la clase está bien

Saludos

59
Hola Lorenzo

Respondiendo a tu pregunta.
Los parámetros que reciben los métodos no necesitan modificador de acceso (public o private) pues el acceso a estos parámetros es exclusivo para el propio método y desaparecen al terminar su ejecución


Tu ejercicio está muy bien

Alabo tu imaginación a la hora de codificar la clase para escanear datos de teclado.
Pero quiero comentarte una cosa. Has de pensar en crear clases que no cambien de un proyecto/ejercicio a otro. Has de tener clases que te sirvan para cualquier ocasión.
Estoy pensando en la clase que  se encarga de recibir los datos tecleados por el usuario.
La subdivisión de los proyectos en diversas clases, permite afrontar los nuevos proyectos aprovechando clases existentes de propósito general ya probadas.

En el enunciado de este ejercicio se pedía una cosa que no has cumplido.
Se pedía. Al empezar, presentar la lista (cosa que tú has hecho), luego pedir un nuevo cantante, presentar los datos y finalmente dar la opción a introducir más cantantes o terminar la ejecución.

Se que esa petición no debe ser problema para tí, pero si tienes alguna pregunta, aquí nos tienes.

Saludos

60
Hola Lorenzo

Ejercicio más que correcto.

Muy bien a tus aportaciones novedosas:
Distintos métodos en la clase EntradaDatos adaptados al tipo requerido.
Y gestión de excepción ante entradas no deseadas.

Tu progreso es  destacado. Saludos y adelante.

Páginas: 1 2 [3] 4 5 6 7 8 ... 25

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