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 ... 5 6 7 8 9 [10] 11 12 13 14 15 ... 25
181
Si fedegaray, Tu clase está muy bien. Nada que objetar.

Solo indicar que habría quedado más vistosa la respuesta si fuera como en el ejemplo.

Letra 1: a
Letra 2: v
Letra 3: e

Saludos

182
Hola fedegaray

Tu clase está muy bien.
A destacar el uso de variables para contruir la frase final. Bien.

Aporte. Para uso en posteriores ocasiones.
En este ejercicio el método equals("a") solo es válido para la a minúscula.
Verás en la clase String del API de Java, el método equalsIgnoreCase(cadenaTexto) que devolverá verdadero tanto si el texto está en mayúsculas como en minúsculas.

Saludos

183
Hola C-R0

'escanearCadena.nextLine()'
El texto anterior en el contexto donde tu has presentado tu mensaje significa lo siguiente:

'escanearCadena' es un objeto o instancia de la clase Scanner
'nextLine()' es un método de dicho objeto/instancia que devolverá todo el texto introducido antes de la tecla ENTER
'.' el punto intermedio, es la conexión entre el objeto y su método.

En el mundo real si tu compras una calculadora, puedes decir:
Me he comprado una calculadora de la marca Casio.
Ves, miCalculadora. Ahora verás lo que puede hacer
    valorInt = miCalculadora.suma(2,2);
    valorFloat = miCalculadora.divide(3,2);

Y si a tu calculadora le pides lo siguiente:
    valorInt = miCalculadora
NO hará nada o te dará error, pues no le has dicho que trabajo quieres que haga para ti.

Saludos

184
Hola jotase

Tu ejercicio está muy bien.

Veo que has modificado la clase EntradaDeTeclado para que se adapte a tu forma de usarla en lugar de adaptarte tu a la clase. Bien.

A destacar la creación de un main escueto que da órdenes a los objetos para que hagan el trabajo con sus métodos. Muy bien.

Saludos

185
Hola jotase

Tu clase junto con sus comentarios para documentación está perfecta. Bien.

Lo único a destacar es que la convención en Java nos aconseja bautizar la clase MiniCalculadoraEjemplo.
Empezar por mayúscula para distinguirse de objetos, métodos y atributos que empiezan por minúscula.

Cuando creemos proyectos extensos en código, la documentación  es una ayuda inestimable.
Para probarlo crea una clase con main y dentro las dos líneas siguientes:
        miniCalculadoraEjemplo miCalc = new miniCalculadoraEjemplo();
        miCalc.

La segunda línea está incompleta, coloca el cursor después del punto y pulsa [Control + espacio] en la lista que aparece busca uno de los métodos de tu calculadora y observa la información que da.

Saludos

186
Hola jotase

Tu clase para transformar array está bien. Se obtiene el resultado solicitado. Pero verás que al comilar aparece un warning.
Un warning no es un error, sino un aviso de que en determinadas condiciones el programa puede fallar.
Un código bien depurado no debe tener warnings.

En este caso el warning está en esta línea:

    LinkedList miListaDeBooleans = new LinkedList(Arrays.asList(miArrayDeBooleans));

La clase LinkedList necesita como otras que se le indique el tipo de objetos que almacenará entre los símbolos <>

Java hace muchas cosas automáticamente cuando nosotros no se lo indicamos, pero cuando tenemos la información nos ayudamos a nosotros mismos si se la damos a Java.

El warning actual desaparecerá si modificas la línea así:

    LinkedList <Boolean> miListaDeBooleans = new LinkedList <Boolean> (Arrays.asList(miArrayDeBooleans));

Saludos

187
Hola fedegaray

Tu clase está muy bien. Cumple todos los requerimiendos del enunciado. Bien

Si bien arrastras un método con el nombre mal puesto como te indicó Príncipe_Azul en un ejercicio anterior.
Si recuerdas que método es, culpa tuya por no rectificarlo.
Y si no lo recuerdas doble culpa.

Aparte de esto el resto todo bien.

Saludos

188
Aprender a programar desde cero / Re:Entrega CU00642B
« en: 20 de Febrero 2015, 18:59 »

Hola vgrisales

Si, tu instrucción:
    salonCasa =new SalonCasa(objetoSalonCasa.getNumeroDeTelevisores(),objetoSalonCasa.getTipoSalon());
en este caso debes cambiarla por:
    salonCasa =new SalonCasa();

¿Por qué?. Porque tu clase SalonCasa tiene un constructor sin parámetros (paréntesis vacíos)
Tienes que hacer el mismo cambio para cocinaCasa

Luego te faltará definir los atributos set y get de los cuatro atributos de la clase Casa.

Saludos

189
Hola nani

En primer lugar te pongo a continuación un enlace que te muestra
¿Cómo insertar código en el foro?
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

También te pediré que utilices la referencia de la lección para saber de que ejercicio envías el mensaje.
Este ejercicio corresponde a la lección CU00623B

Respecto a tu clase, te comento conceptos que debes tener en cuenta siempre o en el 99% de los casos

1º Los atributos de una clase se declaran siempre como 'private'
Es cierto que has puesto private antes del atributo Nombre (este private vale solo para Nombre), pero eso debes hacerlo para cada uno de los atributos.
Java cuando encuentra un punto y coma (;) en el código, entiende que se acaba la instrucción y a partir de ahí empieza instrucción nueva.

Si quieres ahorrarte escribir tantas veces private, puedes hacer lo siguiente:
private String Nombre, Apellidos, CI;
Lo mismo harías para todos los atributos de tipo int y luego para los boolean, etc.

2º Los métodos set y get de la clase son siempre de tipo 'public' (te ocurre igual que con los atributos). Pero aquí es obligado especificarlo en cada signatura de método.

Si observas el código de ejemplo de la lección podrás ver que todos los métodos son public y los atributos private

Ahora te voy a hablar de convenciones en Java.
Estas convenciones, son acuerdos entre programadores para escribir el código de ciertas formas.
Una de las primeras convenciones (no es una obligación) es bautizar los atributos empezando con minúscula.
Por ejemplo el atributo que tu has bautizado Nombre, por convención sería: nombre

Los métodos de la clase siguen la misma convención, empiezan por minúscula. Si el nombre está compuesto de varias palabras, el resto de las palabras excepto la primera empezarán por mayúscula. Ejem. en lugar de GetNombre(), poner getNombre()

Las clases en Java empiezan con mayúscula (para diferenciarlas de atributos y métodos)

Oro apunte: El atributo 'CI' para ti puede significar 'numeroDocumentoIdentidad' o 'cedulaIdentidad', pero también puede confundirse con 'coeficienteInteligencia' u otra cosa.
Otra de las convenciones en Java es dar a los objetos/atributos/métodos nombres descriptivos (que no den lugar a dudas).

Te propongo nani que recompongas la clase. No hace falta que la vuelvas a enviar, excepto que tengas alguna duda. Por que todo el código de la clase lo he visto correcto excepto lo indicado arriba.

Saludos

190
Hola Dan_SB

En primer lugar, este ejercicio corresponde a la lección CU00619B, utiliza esta referencia para otros mensajes.

Tu imagen está muy bien.
Aunque lo que tú denominas Objeto son en realidad clases dependientes de la clase Aviones

Si te fijas en la imagen de la lección con los vehículos, observarás los tres títulos SUPERCLASES, CLASES y OBJETOS
En tu imagen estos títulos se corresponden así:
SUPERCLASES - Aviones

CLASES - Aviones Militares/Comerciales/ y de Pasajeros

En OBJETOS de faltarían aviones de cada tipo. Por ejemplo 
Objetos del tipo Avion de Pasajeros:

  • Airbus Iberia Principe de Asturias
  • Boeing Pan Am Spirit Sant Louis

Objetos del tipo Avion Militar
  • Phantom F-16, RJ-156
  • Mirage M-7, 01-5F

Y tal como tu dices cada avión tiene métodos como.
  • Volar()
  • Aterrizar()
  • Despegar()
  • etc.

En cuanto a los atributos del avión serían por ejemplo en un avión de pasajeros:
  • Autonomía de vuelo
  • Número de pasajeros
  • Compañía propietaria del avión
  • etc.
En esta lección nombramos conceptos que se usarán a lo largo del curso (Clase, Objeto, Instancia, Método, etc.) y se comparan con objetos del mundo real para poder hacer comparaciones.

Saludos y adelante.

191
Hola fedegaray

Tu clase está bien y mal.

Digo bien porque el mensaje que sacas por consola está bien, tal como se pide en el ejercicio
En cambio el String que devuelve está mal, solo devuelve 2, 3 y 5 caracteres.

¿Tal vez esta línea era un primer intento que has descartado, pero no has eliminado del código?

Saludos

192
Hola matru

Tu clase está bastante bien.
Solo te apunto una cosa para tenerla en cuenta de ahora en adelante:
Cuando se pide inicializar los atributos a sus valores por defecto se refiere a lo siguiente

String se inicializa a cadena vacía. ""
   y tal como has hecho tu
int a cero. 0
y booleana false

Es cierto que en alguna clase os hemos pedido inicializar los String con "Desconocido", pero ese no es el valor por defecto para un String
---------------
Y una cosa que tienes que arreglar en tu código:
Cuando cambias la especialidad del médico se ejecuta la siguiente sentencia

    System.out.println("ha cambiado la especialidad del medico de  " + "ahora la especialidad es: ");

que presenta por consola:

ha cambiado la especialidad del medico de  ahora la especialidad es:

donde no se dice de que médico hablamos, ni cual es su especialidad

Esta sentencia tiene que ser algo como esto

    System.out.println("ha cambiado la especialidad del medico de " + nombre + " " + apellidos + " ahora la especialidad es: " + especialidad);

Y tienes que hacer lo mismo para los otros métodos set.

Saludos

193
Hola jotase

Si, has hecho lo que te pedía, mostrar todos los elementos uno a uno. Si, pero no era así como lo pedía.
Para mostrar los elementos usas los objetos (listaDeString y listaDeIntegers) dejando de lado el objeto (listaDeSet) que es de donde hay que sacarlos.

A continuación tienes tu clase con pequeños cambios y comentarios para que estudies que hace cada cosa.

Código: [Seleccionar]
//Ejercicio 78
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class Prueba {
    public static void main (String [] args) {
        HashSet<String> listaDeString = new HashSet<String>();
        listaDeString.add("sol");
        listaDeString.add("luna");
        listaDeString.add("saturno");
        TreeSet<Integer> listaDeIntegers = new TreeSet<Integer>();
        listaDeIntegers.add(2);
        listaDeIntegers.add(5);
        listaDeIntegers.add(8);
        ArrayList<Set> listaDeSet = new ArrayList<Set>();
        listaDeSet.add(listaDeString);
        listaDeSet.add(listaDeIntegers);
       
        // recorrer el ArrayList
        Iterator<Set> itSet = listaDeSet.iterator();
        while (itSet.hasNext()) {
           
            // esto referencia cada elemento del ArrayList
            Set objetoArrayList = itSet.next();
           
            // recorrer el elemento extraido del ArrayList
            int cuenta = 0;
            Iterator itElemento = objetoArrayList.iterator();
            while (itElemento.hasNext()) {
                System.out.print ( ++cuenta + ".- " + itElemento.next() + "\t");
            }
            // salto de linea despues de cada elemento del ArrayList
            System.out.println();
        }
        /**
        for (Iterator<String> it = listaDeString.iterator(); it.hasNext();) {
            String tmpString = it.next();
            System.out.print("\""+tmpString+"\", ");
        }
        for (Iterator<Integer> it = listaDeIntegers.iterator(); it.hasNext();) {
            Integer tmpInteger = it.next();
            System.out.print(tmpInteger+", ");
        }
        */
        System.out.println("\b\b.");
    }
}

Saludos

194
Hola fedegaray

Tu clase está muy bien.

Y en cuanto a bautizar los métodos con nombres descriptivos. Si, de esa forma solo con leer el nombre, sabes que hace el método.

Aunque para mi los nombres propuestos en el enunciado del ejercicio son tan válidos y descriptivos como los tuyos (una calculadora siempre hace cálculos).

Saludos

195
Hola jotase

Tu clase hace el trabajo en parte.
Muestras los dos elementos del ArrayList, pero en el enunciado se pide:
Citar
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.

Has de mostrar individualmente los componentes de cada uno de los elementos del ArrayList.
Piensa que has de hacer operaciones con los números y tienes que extraerlos de la lista.

Cuando tengas cada uno de los elementos del ArrayList tienes que usar otro iterador para recorrer sus elementos y mostrarlos

Saludos

196
Hola jotase

Si, ArrayList es una clase que implementa al interface Iterable

Para la segunda pregunta:
Citar
¿Qué método han de tener disponible las clases que implementan esta interface?
Has de leer en la documentación de Java
http://docs.oracle.com/javase/7/docs/api/
la entrada Iterable
http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html
Verás que esta interface solo tiene un método referenciado bajo el título Method Summary (lista abreviada) y en Method Detail (lista detallada)
Y es precisamente el método iterator() que se usa para hacer las iteraciones dentro de un for each

Nota: for each no es un método, es una instrucción del lenguaje para repetir un número de veces un conjunto de instrucciones (bucle)

Saludos

197
Hola fedegaray

El código de este ejercicio está perfecto al 99%
Aunque la compilación no genera error. En la clase Casa tienes un getter bien nombrado y los otros tres no.
Seguro que no tendrás problema en verlo.

Y supongo que habrás podido practicar con la siguiente cita del enunciado.
Citar
Compila el código para comprobar que no presenta errores, y crea un objeto de tipo Casa usando el constructor que recibe parámetros. Ten en cuenta que antes tendrás que haber creado los objetos de tipo SalonCasa y CocinaCasa para poder pasárselos al constructor. Comprueba el objeto Casa se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto.

Saludos

198
Hola fedegaray

Has cumplido fielmente la creación de las clases con sus atributos y sus constructores. Bien.

Supongo que también habrás compilado y no tendrás errores.

Pero, ¿cómo has cumplimentado esta parte del enunciado?
Citar
Comprueba que se inicializan correctamente consultando el valor de sus atributos después de haber creado los objetos.

Es cierto que no se ha pedido crear los setters y getters. Pero ¿qué sentido tiene crear atributos que no se pueden gestionar?
Piensa que si tu clase tiene atributos, deberías crear sus métodos set y get (tal vez hoy no piensas utilizar esos métodos, pero si los creas, ese es un trabajo que ya tendrás hecho)

No hace falta que envíes una nueva versión de este ejercicio.
En el siguiente ejercicio se trabaja con las mismas clases y las traes más completas.

Saludos

199
Hola MrClassic

Si, ahora está bien, tienes las condiciones precisas para conseguir el objetivo
"22 4444-666666" o, "22 4444 - 666666"

Saludos

200
Hola jotase

En tu programa puedes hacer todas las cosas que quieras.
Lo que yo quería decirte es que, pides dos entradas de teclado cuando solo gestionas una.
En tu main si quitas la instrucción
        entrada.pedirEntrada();
El programa funcionará igualmente.

A título ilustrativo en tu clase EntradaDeTeclado dentro del método pedirEntrada() coloca temporalmente la siguiente línea (ya la quitarás luego)
    System.out.print("A continuación se solicita una entrada de teclado: ");
antes de la línea
      entradaTeclado = entradaScanner.nextLine();

Saludos

Páginas: 1 ... 5 6 7 8 9 [10] 11 12 13 14 15 ... 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".