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

Páginas: [1]
1
Añado la clase que faltaba

Código: [Seleccionar]
/**
 * Ejercicio CU00666B
 * clase heredada de aprenderaprogramar.com
 * que utiliza el programa main para coger las entradas por teclado
 * Clase 3/3
 *
 * @author aprenderaprogramar.com
 *
 */
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

// Definimos una clase EntradaDeTeclado aprenderaprogramar.com

public class EntradaDeTeclado {
    private String entradaTeclado; //Variable de instancia (campo) de la clase
    public EntradaDeTeclado ()  { //Constructor
        entradaTeclado="";
        pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
    } //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
    public String getPrimeraPalabra ()  {

        for (int i=0; i < entradaTeclado.length() - 1; i++) {
            if (entradaTeclado.substring (i, i+1).equals(" ") ) {     
                return entradaTeclado.substring(0, i+1);         }
        }
        return entradaTeclado;  //Caso de que no se detecte ningún espacio devolvemos lo que haya
    } //Cierre del método getPrimeraPalabra
    public int getLongitud ()  {  //Método de la clase
        return entradaTeclado.length();
    } //Cierre del método getLongitud

} //Cierre de la clase

y disculpadme otra vez...

2
Añado la clase que faltaba

Código: [Seleccionar]
/**
 * Ejercicio CU00665B
 * clase heredada de aprenderaprogramar.com
 * que utiliza el programa main para coger las entradas por teclado
 * Clase 3/3
 *
 * @author aprenderaprogramar.com
 *
 */
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

// Definimos una clase EntradaDeTeclado aprenderaprogramar.com

public class EntradaDeTeclado {
    private String entradaTeclado; //Variable de instancia (campo) de la clase
    public EntradaDeTeclado ()  { //Constructor
        entradaTeclado="";
        pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
    } //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
    public String getPrimeraPalabra ()  {

        for (int i=0; i < entradaTeclado.length() - 1; i++) {
            if (entradaTeclado.substring (i, i+1).equals(" ") ) {     
                return entradaTeclado.substring(0, i+1);         }
        }
        return entradaTeclado;  //Caso de que no se detecte ningún espacio devolvemos lo que haya
    } //Cierre del método getPrimeraPalabra
    public int getLongitud ()  {  //Método de la clase
        return entradaTeclado.length();
    } //Cierre del método getLongitud

} //Cierre de la clase

y disculpadme.

3
Buenos días, en base al ejercicio anterior del tutorial de programación java he adaptado éste con las dos clases:

Código: [Seleccionar]
/**
 * Ejercicio CU00666B
 * Crea una lista con tres cantantes famosos
 * Clase 1/3
 * Es idéntico al utilizado en CU00665B
 *
 * @author Amateu
 * @version 1
 */
import java.util.ArrayList;


public class ListaCantantesFamosos{
    private ArrayList<String> listadeCantantes; //Declaramos un ArrayList que contiene objetos String
    public ListaCantantesFamosos () {    //Constructor: crea una lista de nombres vacía
        listadeCantantes = new ArrayList<String>(); //Creamos el objeto de tipo ArrayList
        listadeCantantes.add ("LLuis LLach");
        listadeCantantes.add ("Jose Luis Perales");
        listadeCantantes.add ("Manolo Escobar");
    } //Cierre del constructor
    public void addNombre (String valor_nombre) {
        listadeCantantes.add (valor_nombre); } //Cierre del método addNombre
    public String getNombre (int posicion) { //Método
        if (posicion >= 0 && posicion < listadeCantantes.size() ) {
            return listadeCantantes.get(posicion); }
        else { return "No existe nombre de cantante famoso para la posición solicitada";}
    } //Cierre del método getNombre
    public int getTamaño () { return listadeCantantes.size(); } //Cierre del método getTamaño
    public void removeNombre (int posicion) {  //Método
        if (posicion >= 0 && posicion < listadeCantantes.size() ) {
            listadeCantantes.remove(posicion); }
        else { }
    } //Cierre del método removeNombre
    public void listar () {
            int i = 0;
            System.out.println ("Los cantantes en la lista son:");
            for (String nombreCantante : listadeCantantes){   //Este es for extendido
               System.out.println ("Cantante nº " + (i+1) +": " + listadeCantantes.get(i) );
               i++;
            }
    }
} //Cierre de la clase

Código: [Seleccionar]
/**
 * Ejercicio CU00666B
 * Programa main que añade por teclado cantantes a la lista de cantantes famosos
 * Clase 2/3
 *
 * @author Amateu
 * @version 1 */
public class TestListaCantantesFamosos
{
     public static void main (String [ ] args) {

        ListaCantantesFamosos listaCantantes = new ListaCantantesFamosos();
        int j=1;
        while (j>0) {
            listaCantantes.listar();
                       
            System.out.println ("Añada Ud. un nuevo cantante famoso (Sino pulse Enter):");   
            EntradaDeTeclado nuevoCantante = new EntradaDeTeclado();
            j = nuevoCantante.getLongitud();
            listaCantantes.addNombre (nuevoCantante.getEntrada() );
           
        }
   
    } //Cierre del main
}

El for extendido lo he introducido en un método nuevo `listar´ de la clase ListaCantantesFamosos.


4
Me he permitido utilizar el método entrada de teclado de la lección. No la incluyo, pero si hace falta la añado. Estas son las otras dos clases que he utilizado

Código: [Seleccionar]
/**
 * Ejercicio CU00665B
 * Crea una lista con tres cantantes famosos
 * Clase 1/3
 *
 * @author Amateu
 * @version 0
 */
import java.util.ArrayList;


public class ListaCantantesFamosos{
    private ArrayList<String> listadeCantantes; //Declaramos un ArrayList que contiene objetos String
    public ListaCantantesFamosos () {    //Constructor: crea una lista de nombres vacía
        listadeCantantes = new ArrayList<String>(); //Creamos el objeto de tipo ArrayList
        listadeCantantes.add ("LLuis LLach");
        listadeCantantes.add ("Jose Luis Perales");
        listadeCantantes.add ("Manolo Escobar");
    } //Cierre del constructor
    public void addNombre (String valor_nombre) {
        listadeCantantes.add (valor_nombre); } //Cierre del método addNombre
    public String getNombre (int posicion) { //Método
        if (posicion >= 0 && posicion < listadeCantantes.size() ) {
            return listadeCantantes.get(posicion); }
        else { return "No existe nombre de cantante famoso para la posición solicitada";}
    } //Cierre del método getNombre
    public int getTamaño () { return listadeCantantes.size(); } //Cierre del método getTamaño
    public void removeNombre (int posicion) {  //Método
        if (posicion >= 0 && posicion < listadeCantantes.size() ) {
            listadeCantantes.remove(posicion); }
        else { }
    } //Cierre del método removeNombre
} //Cierre de la clase

Código: [Seleccionar]
/**
 * Ejercicio CU00665B
 * Programa main que añade por teclado dos cantantes a la lista de cantantes famosos
 * Clase 2/3
 *
 * @author Amateu
 * @version 0
 */
public class TestListaCantantesFamosos
{
     public static void main (String [ ] args) {

        ListaCantantesFamosos listaCantantes = new ListaCantantesFamosos();
         
        System.out.println ("Ud. va a añadir a la lista de Cantantes Famosos dos nombres más.");   
        System.out.println ("Por favor introduzca un nombre de cantante a añadir:");
        EntradaDeTeclado cantante1 = new EntradaDeTeclado();
        System.out.println ("Por favor introduzca otro nombre de cantante:");
        EntradaDeTeclado cantante2 = new EntradaDeTeclado();
        System.out.println ("Gracias");
       
        listaCantantes.addNombre (cantante1.getEntrada() );
        listaCantantes.addNombre (cantante2.getEntrada() );
       
        System.out.println ("La lista ha quedado formada por " + listaCantantes.getTamaño() + " nombres de cantantes:");

        for (int i = 0; i < listaCantantes.getTamaño(); i++){
           System.out.println ("Cantante nº " + (i+1) +": " + listaCantantes.getNombre(i) );
        }
   
    } //Cierre del main
}

Gracias de antemano.

5
He resuelto el ejercicio con el código que añado, me parece que a partir de ahora por lo que leo en el foro cada uno tiene una manera distinta de hacer.

Código: [Seleccionar]
/**
 * Ejercicio propuesto en CU00662B
 * Sobre la utilización del método equals
 *
 * @author Amateu
 * @version 0
 */
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

public class testEquals
{
    public static void main (String [ ] args) {

        System.out.println ("Comparamos las letras de dos palabras");     

        System.out.println ("Por favor introduzca la palabra 1:");
        String entradaTeclado1 = "";
        Scanner entradaEscaner1 = new Scanner (System.in); //Creación de un objeto Scanner
        entradaTeclado1 = entradaEscaner1.nextLine (); //Asignamos con un metodo de Scanner

        System.out.println ("Por favor introduzca la palabra 2:");
        String entradaTeclado2 = "";
        Scanner entradaEscaner2 = new Scanner (System.in); //Creación de un objeto Scanner
        entradaTeclado2 = entradaEscaner2.nextLine (); //Asignamos con un metodo de Scanner
       
        int orden = 1;//En vez de poner a 0 inicializo con una de las dos posibilidades
        int maximalength = entradaTeclado2.length();
        int minimalength = entradaTeclado1.length();
        if (entradaTeclado1.length() > entradaTeclado2.length())
        {
            maximalength = entradaTeclado1.length();
            minimalength = entradaTeclado2.length();
            orden = 2;
        }   
        for (int i=0; i < minimalength ;  i++) 
        {
            System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? " +
            entradaTeclado1.substring (i, i+1).equals(entradaTeclado2.substring (i,i+1)) + "." ); 
        }
        for (int i=minimalength; i < maximalength ;  i++) 
        {
            System.out.println ("¿Letra " + (i+1) +
            " igual en las dos palabras? La palabra " + orden + " no tiene letra " + (i+1)); 
        }       
    } //Cierre del main

} //Cierre de la clase


6
Paso el código del ejercicio CU00657B del tutorial básico de programación en Java:

Código: [Seleccionar]
/**
 * De la lección CU00657B
 *
 * @author amateu
 * @version 11/04/2016
 */
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

public class TestCadena {
       
    public static void main (String [ ] args)
    {
        System.out.println ("Vamos a analizar la longitud de la cadena y si empieza por a");
        System.out.println ("Por favor introduzca una cadena por teclado:");
        String entradaTeclado = "";
        String longitud = "";
        String sinlaa = "";
        Scanner entradaEscaner = new Scanner (System.in); //Creación de un objeto Scanner
        entradaTeclado = entradaEscaner.nextLine (); //Invocamos un método sobre un objeto Scanner
        if (entradaTeclado.length() < 5)
            {
            longitud = "menos de 5 ";
            } else
                { if (entradaTeclado.length() <= 15)
                    {
                        longitud = "entre 5 y 15 ";
                    } else { longitud = "más de 15 ";}
                }                   
        String letrainicial = entradaTeclado.substring(0,1);
        if (letrainicial.equals("a")) //Se ha introducion el método equals porque con == no funciona
            {
              sinlaa = "";
            } else { sinlaa = "no ";}
        System.out.println ("La cadena introducida tiene " + longitud +"caracteres y "
            + sinlaa + "comienza por a.");
    }//Cierre del main
} //Cierre de la clase

La verdad es que me he vuelto un poco loco con no poder utilizar == con los strings, y no lo acabo de entender muy bien.
Gracias.

7
Aprender a programar desde cero / Re:CU00642B Ejercicio
« en: 11 de Abril 2016, 09:39 »
He probado modificar el método así:
Código: [Seleccionar]

       public void setSalonCasa(SalonCasa valorSalonCasa)
    {
        salonCasa.numeroDeTelevisores = valorSalonCasa.numeroDeTelevisores;
        salonCasa.tipoSalon = valorSalonCasa.tipoSalon;
    }
pensando que resultaría igual que como lo había puesto yo en un principio, vinculando los atributos. Pero comprobando su ejecución veo que coge el valor, no referencia el atributo.

¿Qué diferencia hay con utilizar los métodos de set y get?
Bueno, he tenido que cambiar de private a public la definición de variables en la clase SalonCasa. ¿Es sólo esa la diferencia?

Y donde quería llegar yo: ¿Y si quisiera que uno de los atributos de salonCasa estuviese vinculado a valorSalonCasa y el otro no?

8
Después de llegar hasta este punto sin molestar en este aprendizaje paso el ejercicio que he intentado resolver. Ejercicio CU00642B del curso básico de programación Java.

Clase Casa
Código: [Seleccionar]
/**
 * Ejercicio CU00642B
 * 3/3 clases que corresponden al ejercicio
 * Es la clase que utilizará las clases SalonCasa y CocinaCasa
 * @author Amateu
 * @version 1
 */
public class Casa
{
    // Definición de vbles
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;

    /**
     * Constructor para inicializar las vbles por defecto
     */
    public Casa()
    {
        // initialise instance variables
        superficie = 0.0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();
    }

    /**
     * Constructor inicializador introduciendo parámetros
     */
    public Casa(double valorSuperficie, String valorDireccion, SalonCasa valorSalonCasa,
        CocinaCasa valorCocina)
    {
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = valorSalonCasa;
        cocina = valorCocina;
    }//Cierre del constructor

    /**
     * Métodos para establecer los atributos
     */
    public void setSuperficie (double valorSuperficie)
    {
        superficie = valorSuperficie;
    }
    public void setDireccion (String valorDireccion)
    {
        direccion = valorDireccion;
    }
    public void setSalonCasa (SalonCasa valorSalonCasa)
    {
            salonCasa = valorSalonCasa;
    }

    public void setCocinaCasa (CocinaCasa valorCocinaCasa)
    {
        cocina = valorCocinaCasa;
    }
    //Métodos para leer atributos
   
    public double getSuperficie () { return superficie; }
    public String getDireccion () { return direccion; }
    public SalonCasa getSalonCasa () { return salonCasa; }
    public CocinaCasa getCocinaCasa () { return cocina;}
}

Clase SalonCasa
Código: [Seleccionar]
/**
 * Ejercicio CU00642B
 * 1/3 clases que corresponden al ejercicio
 * @author Amateu
 * @version 1
 */
public class SalonCasa
{
    // Definición de vbles
    private int numeroDeTelevisores;
    private String tipoSalon;

    /**
     * Constructor
     * Inicializando las vbles por defecto
     */
    public SalonCasa()
    {
        // initialise instance variables
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }
    /**
     * Constructor inicializador introduciendo parámetros
     */
    public SalonCasa(int valorNumeroDeTelevisores, String valorTipoSalon)
    {
        numeroDeTelevisores = valorNumeroDeTelevisores;
        tipoSalon = valorTipoSalon;
    }//Cierre del constructor

    /**
     * Métodos para establecer los atributos
     */
    public void setNumeroDeTelevisores (int valorNumeroDeTelevisores)
    {
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }
    public void setTipoSalon (String valorTipoSalon)
    {
        tipoSalon = valorTipoSalon;
    }
    //Métodos para leer atributos
   
    public int getNumeroDeTelevisores () { return numeroDeTelevisores; }
    public String getTipoSalon () { return tipoSalon; }
   
}

Clase CocinaCasa
Código: [Seleccionar]
/**
 * Ejercicio CU00642B
 * 2/3 clases que corresponden al ejercicio
 * @author Amateu
 * @version 1
 */
public class CocinaCasa
{
    // Definición de vbles
    private boolean esIndependiente;
    private int numeroDeFuegos;

    /**
     * Constructor
     * Inicializando las vbles por defecto
     */
    public CocinaCasa()
    {
        // initialise instance variables
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
    /**
     * Constructor inicializador introduciendo parámetros
     */
    public CocinaCasa(boolean valorEsIndependiente, int valorNumeroDeFuegos)
    {
        esIndependiente = valorEsIndependiente;
        numeroDeFuegos = valorNumeroDeFuegos;
    }//Cierre del constructor

    /**
     * Métodos para establecer los atributos
     */
    public void setEsIndependiente (boolean valorEsIndependiente)
    {
        esIndependiente = valorEsIndependiente;
    }
    public void setNumeroDeFuegos (int valorNumeroDeFuegos)
    {
        numeroDeFuegos = valorNumeroDeFuegos;
    }
    //Métodos para leer atributos
   
    public boolean getEsIndependiente () { return esIndependiente; }
    public int getNumeroDeFuegos () { return numeroDeFuegos; }
}

Gracias de antemano

Páginas: [1]

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