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

Páginas: [1] 2
1
Que alegría me das!! ;D
Con lo complicado que me está resultando, que me digas eso me anima mucho más!!
Gracias!!

2
Cuelgo mi solución al ejercicio CU00679B.

Un saludo y gracias!!

Código: [Seleccionar]
import java.util.Arrays;
import java.util.List;
import java.util.LinkedList;
import java.util.Iterator;

public class  CU00679B
{
    public static void main (String []args)
    {
        Boolean[] miArrayBooleano={true, true, false, false, true, false};
        List <Boolean> miLinkedList = new LinkedList <Boolean>();
       
        for (int i=0 ; i < miArrayBooleano.length; ++i)
        {
            System.out.println("miArrayBooleano contiene: " + miArrayBooleano[i]);
        }
       
        miLinkedList = Arrays.asList(miArrayBooleano); 
        Iterator <Boolean> miIterator =  miLinkedList.iterator();
       
        while (miIterator.hasNext())
        {
            System.out.println("miLinkedList contiene: " + miIterator.next());
        }
    }
}

3
Yo si me voy a volver "Poliamorfico", como se siga complicando la cosa!!! :P

Pongo mi solución.... me ha costado un verano pero, me da el resultado que pedíais:

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

public class CU00678B_poliformismo
{
    public CU00678B_poliformismo()
    { }
   
    public static void main (String [] args){
        HashSet <String> miHashSet = new HashSet <String> ();
        TreeSet <Integer> miTreeSet = new TreeSet <Integer> ();
        ArrayList <Set> miArraySet = new ArrayList <Set> ();
       
        miHashSet.add ("sol");
        miHashSet.add ("luna");
        miHashSet.add ("saturno");
        miTreeSet.add (2);
        miTreeSet.add (8);
        miTreeSet.add (5);
       
        miArraySet.add(miHashSet);
        miArraySet.add(miTreeSet);
       
        Iterator <Set> miIterator = miArraySet.iterator();
       
        while (miIterator.hasNext()){   System.out.println (miIterator.next()); }
    }
}


4
Respuesta al ejercicio CU00677B:

La interface Iterable es implementada (de las clases conocidas hasta ahora),por la clase ArrayList y debe de contener el método Iterator.

Un saludo y siempre gracias.

6
Joer!! Me está costando lo de los nombrecitos de clases y métodos!! :o

Muchas gracias por la respuesta!!

Un saludo.

7
Disculpa, no te había agradecido la ayuda. (La verdad es que tal y como funciona este foro... nunca son suficientes los agradecimientos). :D

8
Joer que "tontín" estoy!!. :o Se me ha olvidado responder a las preguntas.

¿Qué tipo de datos almacena el array? ¿Qué tipo de datos almacena el ArrayList?

El array "miArray1", almacena datos tipo int primitivos.
El ArrayList "lista1", almacena Integer (objetos enteros).

Espero sea correcto.

Saludos

9
Mi solución al ejercicio CU00675B del curso.

Muchas gracias por toda vuestra ayuda!!

Código: [Seleccionar]
import java.util.ArrayList;

public class CopiaDeArrays
{
    public CopiaDeArrays()
    {  }

   public static void main (String [] args){
       
       ArrayList lista1 = new ArrayList <Integer>  ();
       int [] miArray1 ={2,-4,3,-7};
       
       for (int i=0;i < miArray1.length;++i){
           System.out.println("Posición array     -> " + i + " tiene el valor: " + miArray1[i]);
           lista1.add(miArray1[i]);
           System.out.println("Posicion ArrayList -> " + i + " tiene el valor: " + lista1.get(i));
       }
   }
}

10
Cuelgo mi solución al ejercicio CU00674B.
Espero respuesta.
Muchas gracias.

Código: [Seleccionar]
package formas.formas1dimension;

public class Recta
{
}
Código: [Seleccionar]
package formas.formas1dimension;

public class Curva
{
}
Código: [Seleccionar]
package formas.formas2dimensiones;

public class Triangulo
{
}
Código: [Seleccionar]
package formas.formas2dimensiones;

public class Cuadrilatero
{
Código: [Seleccionar]
package formas.formas2dimensiones;

public class Hiperbola
{
}
Código: [Seleccionar]
package formas.formas2dimensiones;

public class Parabola
{
}
Código: [Seleccionar]
package formas.formas2dimensiones;

public class Elipse
{
}
Código: [Seleccionar]
package formas.formas3dimensiones;

public class Cilindro
{
}
Código: [Seleccionar]
package formas.formas3dimensiones;

public class Cono
{
}
Código: [Seleccionar]
package formas.formas3dimensiones;

public class Esfera
{
}

11
Pongo mi solución al ejercicio CU00673B.

Solo comentar que para la fórmula en la que hay que elevar un nº al cuadrado. Busqué en las clases de Java y encontré el método pow de la clase math. Supongo que no estará mal utilizarlo para el ejemplo.

A la pregunta: ¿Es posible crear un método en la clase Circulo para establecer el valor de numeroPi? ¿Por qué?

No no es posible, devuelve  el error de compilación: "cannot assign a value to final variable numeroPi". No lo permite al ser una constante y tener un valor fijo al declararse con 'final'.

Gracias y espero opinión:


Clase Circulo:

Código: [Seleccionar]
import java.lang.Math;
/**
 * Clase circulo que calcula el Area y Longitud recibiendo como parametro el radio.
 * @author (Pasandav)
 * @version (1.0)
 */
public class Circulo
{
    private static final double numeroPi = 3.1416;
    private double radio;
   
   // Constructor
    public Circulo() { radio = 0;}

    public void setRadio (double radio){ this.radio = radio; }
   
    public double getRadio (){ return this.radio; }
   
    public double areaCirculo(double radio){
      double areaCirculo = numeroPi * Math.pow( radio,  2);
      return areaCirculo;
    }   // Fin del método areaCirculo.
   
    public double longitudCirculo(double radio){
     double longitudCirculo = numeroPi  * (radio * 2);
     return longitudCirculo;
    }   // Fin del método longitudCirculo.
}   // fin de la clase Circulo.


Clase del Main:

Código: [Seleccionar]
import java.util.Scanner;
/**
 * Write a description of class TestCirculo here.
 *
 * @author (David Martinez)
 * @version (a version number or a date)
 */
public class TestCirculo
{
    public TestCirculo(){ }

    public static void main (String []args){
       
        Circulo miCirculo = new Circulo ();
        Scanner teclado = new Scanner(System.in);
       
        System.out.println("Introduce radio del circulo");
        double radio = Double.parseDouble (teclado.nextLine());
        System.out.println(" Un circulo con radio " + radio + " tiene un area de " + miCirculo.areaCirculo(radio) + " y una longitudo de " +  miCirculo.longitudCirculo(radio));
    }
}

12
Me pongo a ello.... Ufffff ("complicao" es esto)!! :P

Gracias.

13
Ok. Lo haré.

Muchas gracias.

14
Ok. Perdona.
Código: [Seleccionar]
import java.util.Scanner; //Importación de la clase Scanner desde la biblioteca Java
public class EntradaDeTeclado {  // Definimos la clase EntradaDeTeclado aprenderaprogramar.com
    private String entradaTeclado; //Variable de instancia (campo) del método
 
    //Constructor
    public EntradaDeTeclado ()  {
        entradaTeclado=""; } //Cierre del constructor
 
    public void pedirEntrada ()  {  //Método de la clase         
        Scanner entradaEscaner = new Scanner (System.in);
        entradaTeclado = entradaEscaner.nextLine ();
    } //Cierre del método pedirEntrada
 
    public String getEntrada () {
        return entradaTeclado;
 } //Cierre del método getEntrada
} //Cierre de la clase

15
Cuelgo solo el main.
Espero opinión.
Muchas gracias.
Código: [Seleccionar]
import java.util.Random;
/**
 * Write a description of class AdivinaNumero here.
 *
 * @author (Pasandav)
 * @version (a version number or a date)
 */
public class AdivinaNumero
{
    public AdivinaNumero()
    { 
    }
   
    public static void main (String [] args)
    {
        Random numeroAleatorio;
        numeroAleatorio = new Random();
        EntradaDeTeclado teclado = new EntradaDeTeclado();
       
        int adivina =  numeroAleatorio.nextInt(100)+1;
        System.out.println("ADIVINA EL ALEATORIO" + adivina);
        System.out.println("Se ha generado un número aleatorio entero entre 1 y 100, intenta adivinarlo: ");
        int respuesta=0;
        while (respuesta!=adivina){
           teclado.pedirEntrada();
           respuesta= Integer.valueOf  (teclado.getEntrada());
           
           if (respuesta >0 && respuesta<100){
               if (respuesta == adivina){   System.out.println("CORRECTO!! ");}
               else if (respuesta > adivina ){System.out.println("No has acertado, el número que buscas es menor, intentalo otra vez: ");}
               else {System.out.println("No has acertado, el número que buscas es mayor, intentalo otra vez: ");}
           }else{System.out.println("Introduce números de 1 a 100: ");}
        }
    }
}

16
Bueno.....
Creo que he corregido los fallos que me decías.
El iterator lo he entendido (más o menos). "CantanteFamoso tmp", es crear una variable que almacena los atributos del objeto CantanteFamoso (como "String tmp", que también es una variable de un objeto)... ¿Es así?..... ¿Verdad? ???

Cuelgo de nuevo todo, para mejor seguimiento.
Como siempre, muchas gracias.

Código: [Seleccionar]
/**
 /**
 * Write a description of class TestCantantes3 here.
 *
 * @author (David Martinez)
 * @version (1.0)
 */
public class TestCantantesYDiscos   // Inicio de clase.
{
    public TestCantantesYDiscos()     // Constructor sin parametros.
    {     
    }

    public static void main (String []args)     // Inicio del main.
    {
        CantanteFamoso objCantante = new CantanteFamoso();                          // Creamos un objeto "objCantante"    de la clase CantanteFamoso sin parametros (vacío)..
        ListaCantantesFamosos listaCantantes = new ListaCantantesFamosos ();        // Creamos un objeto "listaCantantes" de la clase ListaCantantesFamosos
        VisualizadorDeMensajes muestraEnPantalla = new VisualizadorDeMensajes();    // Creamos objeto "muestraEnPantalla" de la clase VisualizadorDeMensajes.
        RegistroTeclado teclado = new RegistroTeclado();                            // Creamos objeto "teclado"           de la clase RegistroTeclado
       
        listaCantantes.addCantante (new CantanteFamoso  ("Michael Jackson","Thriller"));  // Añadimos con metodo de ArrayList, un nuevo objeto CantanteFamoso  , con parametros
        listaCantantes.addCantante (new CantanteFamoso ("El último de la fila","Astronomía razonable"));      // ¿ Porque no, (new objCantante ("El ultimo de la fila","Astonomía razonable")); ?
             
        muestraEnPantalla.encabezadoDeLista("inicial");   // Muestra en pantalla mensaje con parametro que indica si es lista "inicial" o "actualizada".
        listaCantantes.listadoCompleto();// Metodo de ListaCantantesFamosos que recorre con Iterator y muestra los datos de la lista.
        int respuesta = 0;    // Reinicializamos variable que controlará el while (1= s, 2 = n, 0 = otra letra).
         
        while (respuesta !=2) // repetir es 2 cuando se contesta n a "volver a introducir"
        {
            muestraEnPantalla.solicitudDeDatos ("los datos","cantante");   // Metodo que muestra en pantalla que introduzcamos los "dato" del "tipo".
            String nombreCantante = teclado.solicitudEntradaTeclado();  // Almacena en "nombreCantante" lo registrado en el metodo solicitudEntradaTeclado.
                 
            muestraEnPantalla.solicitudDeDisco();   
            String nombreDisco = teclado.solicitudEntradaTeclado();     // Metodo que muestra en pantalla que introduzcamos el nombre del disco.
                 
            listaCantantes.addCantante(new CantanteFamoso (nombreCantante,nombreDisco)); // Añade el nuevo cantante y disco a la lista con el metodo añadeDatos.
                 
            muestraEnPantalla.encabezadoDeLista("actualizada");   // Muestra en pantalla mensaje con parametro que indica si es lista "inicial" o "actualizada".
            listaCantantes.listadoCompleto();   // Metodo de ListaCantantes que recorre y muestra los datos de la lista.
           
            muestraEnPantalla.volverAIntoducirDatos("datos","cantante");   // Muestra en pantalla si se quieren introducir más datos.
       
            do{ // Bucle que se repite, mientras "respuesta = 0".
                String siONo = teclado.solicitudEntradaTeclado();   // Se vuelve a socilitar la introdución de datos.
                if (siONo.equalsIgnoreCase("s")) { respuesta = 1;}   // si se recibe "s" respuesta = 1 (Se introducen más datos.
                else if (siONo.equalsIgnoreCase("n")){ respuesta = 2;}   // Si se recibe "n" respuesta = 2 (No se introducen más datos.
                else {
                        muestraEnPantalla.entradaIncorrecta();  // Si no es ni "s" ni "n", Se muestra mensaje aclaratorio.
                        respuesta=0;   
                       
                     }
            } while (respuesta==0); // Fin de Do-While.
         } // Fin de While.
     } // Fin del main.
}   // Fin de la clase.
Código: [Seleccionar]
/**
 * Clase que crea el objeto CantanteFamoso y realiza consultas en sus datos.
 *
 * @author (David Martínez)
 * @version (1.0)
 */
public class CantanteFamoso // Declaramos los atributos de la clase CantanteFamoso.
{
    private String nombre;
    private String discoConMasVentas;

    public CantanteFamoso() // Constructor que inicializa los atributos a datos vacíos.
    {
        this.nombre = "";
        this.discoConMasVentas = "";
    }
   
     public CantanteFamoso(String nombre,String discoMasVendido)    // Constructor que inicializa los campos recibiendo parametros tipo Strings
     {
         this.nombre = nombre;
         this.discoConMasVentas = discoMasVendido;
    }

    public String consultaCantante() { return this.nombre; }    // Metodo que devuelve String con el atributo nombre.
   
    public String consultaDisco() { return discoConMasVentas; } // Metodo que devuelve String con el atributo discoConMasVentas.

    public void setCantante(String nombreCantante){ this.nombre = nombreCantante;}  // Método para establecer atributo nombre
   
    public void setCancion(String cancionMasVendida){   this.discoConMasVentas = cancionMasVendida;}   // Metodo para establecer atributo discoConMasVentas.
}
Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Iterator;
/**
 * Write a description of class ListaNombres here.
 *
 * @author (David Martínez)
 * @version (a version number or a date)
 */
public class ListaCantantesFamosos
{
    private ArrayList <CantanteFamoso> listaCantantesFamosos;
    VisualizadorDeMensajes muestraEnPantalla = new VisualizadorDeMensajes();
   
    public ListaCantantesFamosos () // Constructor, Crea ArrayList con un objeto CantanteFamoso.
    {   
        listaCantantesFamosos = new ArrayList <CantanteFamoso>();
    } // Cierre del constructor.
   
    public void addCantante (CantanteFamoso datos) // Añade al ArrayList el nombre introducido.
    {
        listaCantantesFamosos.add (datos);
    } // Cierre del metodo.
   
    public void listadoCompleto()
    {
        Iterator <CantanteFamoso> copiaDeLista = listaCantantesFamosos.iterator();
        CantanteFamoso tmp;
        while (copiaDeLista.hasNext()){
           
            tmp = copiaDeLista.next();
            muestraEnPantalla.listaCompleta(tmp.consultaCantante(),tmp.consultaDisco());       
        }
    } 
}
Código: [Seleccionar]
/**
 * Clase que muestra los mensajes por pantalla.
 *
 * @author (David Martínez)
 * @version (a version number or a date)
 */
public class VisualizadorDeMensajes
{   
    public VisualizadorDeMensajes()
    {     
    }
   
    public void solicitudDeDatos(String dato,String tipo)   // Metodo para mostrar mensaje de introducción de datos
    {
       System.out.println("\nPor favor, introduzca " + dato + " de " + tipo +".");
    }
   
    public void solicitudDeDisco()    // Muestra la solicitud de introducir Disco.
    {
        System.out.println("Introduzca su disco más vendido:");
    }
   
    public void volverAIntoducirDatos(String dato,String tipo) // Muestra la pregunta de seguir introduciendo datos.
    {
    System.out.println("¿Desea introducir "+ dato + " de otro/a " + tipo +"? (S/N): ");
    }
   
    public void entradaIncorrecta() // Muestra que hay que introducir o S o N.
    {
        System.out.println("Por favor, responda (S/N): ");   
    }
   
    public void encabezadoDeLista(String tipo) // Muestra el encabezado de la lista.
    {
     System.out.println("La lista " + tipo + " contiene los siguientes datos:" ); 
    }
   
    public void listaPosicionYCantante (int posicion,String nombre) // Muestra el dato de ArrayList de situado en "posicion" y "nombre"
    {
       System.out.println("En posicion: " + posicion + " - " + nombre ); 
    }

    public void listaCompleta(String nombre,String disco)   // Muestra los atributos recibidos por Iterator de la clase ListaCantantesFamosos.   
    {
        System.out.println("Cantante: " + nombre.toUpperCase() + "  Disco con más ventas: " + disco.toUpperCase() ); 
    }   
}
Código: [Seleccionar]
import java.util.Scanner;
/**
 * Write a description of class RegistroTeclado here.
 *
 * @author (David Martínez)
 * @version (a version number or a date)
 */
public class RegistroTeclado
{
    String teclado; // Variable para crear objeto Scanner.
    VisualizadorDeMensajes muestraEnPantalla = new VisualizadorDeMensajes();
   
    public  RegistroTeclado()   // El constructor llama al metodo que crea el objeto Scanner
    {
    }
   
    public String solicitudEntradaTeclado() // Metodo que crea el objeto Scanner.
    {
       Scanner teclado = new Scanner (System.in);
       String registroTeclado = teclado.nextLine();
       return registroTeclado;   // Devuelve el texto introducido como String
    } 
}

17
Hola Alex.

¿Quieres decir que la clase Cantante sólo debe de tener atributos de cantante y debo de crear una clase independiente para discos o es una cuestión de nombre de clase?

Intentaré corregirlo.

Muchas gracias

18
Modifico el código antes de que me respondais:
Le ha quitado la repetición del método  teclado.pedirEntrada y la inicialización de la variable respuesta antes del while. Creo que así está mas limpio el código.

Gracias.
Código: [Seleccionar]
import java.util.Random;
/**
 * Write a description of class AdivinaNumero here.
 *
 * @author (Pasandav)
 * @version (a version number or a date)
 */
public class AdivinaNumero
{
    public AdivinaNumero()
    { 
    }
   
    public static void main (String [] args)
    {
        Random numeroAleatorio;
        numeroAleatorio = new Random();
        EntradaDeTeclado teclado = new EntradaDeTeclado();
        int adivina = (int) numeroAleatorio.nextInt(100);
        System.out.println("ADIVINA EL ALEATORIO" + adivina);
        System.out.println("Se ha generado un número aleatorio entero entre 1 y 100, intente adivinarlo: " + adivina);
        int respuesta=0;
       while (respuesta!=adivina){
           teclado.pedirEntrada();
           respuesta= Integer.valueOf  (teclado.getEntrada());
           if (respuesta == adivina){   System.out.println("Vaaalgame que listo, has acertado!! ");}
           else{    System.out.println("Intentalo otra vez: ");}
      }
    }
}

19
Joer... Cada día me alegro más de haber encontrado estos foros!!

MUCHAS GRACIAS, por la rapidez y los consejos!!!

20
Lo que no entiendo es:
En la clase "ListaCantantesYDiscos", el método "listadoCompleto" cuando creo el Iterator, la utilización de "CantanteYDisco tmp" y luego el poder usar ese tmp con los métodos de CantanteYDisco.
Creo que eso no lo había visto aun. (Aunque probablemente esté equivocado).

Gracias por todo.

Páginas: [1] 2

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