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.


Temas - maxplanck

Páginas: [1]
1
Hola a todos, paso a presentaros las respuestas a este ejercicio CU00690B del taller de programación en POO y los códigos necesarios.

Primero las preguntas:

a) ¿Un objeto de tipo estático declarado Taxi puede contener a un objeto Vehiculo en tiempo de ejecución?

Sí mediante casting.

b) ¿Un objeto de tipo estático declarado Vehiculo puede contener a un objeto Taxi en tiempo de ejecución?

Sí, este tipo de conversiones hacia abajo es simpre posible.

Clase Vehiculo (Está aprovechada de un ejercicio anterior).

Código: [Seleccionar]
package Coches;
import java.util.*;

/**
 * Esta clase define vehículos que pertenecen a una de cinco marcas incluidas en un Tipo enumerado.
 * @author maxplanck
 */
public class Vehiculo {
    public enum Marca {FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
    private String matricula;
    private Marca marca;
    private int numeroDeRuedas;
   
    public Vehiculo(){
        matricula= "";
        marca = null;
        numeroDeRuedas = 0;
    }

    /**
     * Método que devuelve la matrícula
     * @return Un String
     */   
    public String getMat () {return matricula;}

    /**
     * Método que devuelve la narca del coche.
     * @return Un tipo enumerado.
     */   
    public Marca getMar () {return marca;}
   
    public int getRuedas () {return numeroDeRuedas;}

    /**
     * Método para establecer la matrícula.
     */   
    public void setMat (String mat){matricula = mat;}

    /**
     * Método para establecer la marca.
     */   
    public void setMar (Marca mar) {marca = mar;}
   
    public void setRuedas (int ruedas) {numeroDeRuedas = ruedas;}
   
    public String toString() {
        Integer ent = numeroDeRuedas;
        return ("Matrícula: ").concat(matricula).concat(". Número de ruedas: ").concat(ent.toString());
    }
}

Clase Taxi2:

Código: [Seleccionar]
package Coches;
public class Taxi2 extends Vehiculo {
    private String conductor;
    private int plazas;

    public Taxi2 () {
        super();
        conductor = "";
        plazas = 0;
    }

    public void setConductor(String conductor){
        this.conductor = conductor;
    }

    public void setPlazas (int plazas) {
        this.plazas = plazas;
    }

    public String getConductor () {return conductor;}
   
    public int getPlazas () {return plazas;}

    public String toString () {
        Integer ent = plazas;
        return super.toString().concat(". Plazas: ").concat(ent.toString()).
        concat(". Conductor: ").concat(conductor.toUpperCase().concat("."));
    }

}

Y, finalmente, la clase Test2:

Código: [Seleccionar]
package Coches;

public class Test2 {   
    public static void main (String [] Args) {
        Vehiculo car = new Vehiculo();
        Taxi2 taxi =new Taxi2();
        car = taxi;
        car.setMat ("V-1385-CH");
        car.setRuedas (4);
        taxi.setConductor ("Perico");
        taxi.setPlazas (4);
        System.out.println (taxi.toString());

    }
}     

Espero vuestros comentarios y correcciones agradeciéndoos por anticipado vuestra ayuda. Saludos.

2
Buenas. Llevo aquí 3 días enfrascado con este ejercicio CU00688B del curso básico de Java y un fallo de compilación tonto que no consigo resolver  :P. Debe de ser un error básico pero no doy con él.

El error que me da BlueJ es cannot find symbol- method iterator() y las clases afectadas son bastante simples. No sé que estoy haciendo mal pues los tipos listaEnvio o nuevoEnvio los declaro como ArrayList y he importado java.util.*. He recurrido a dos objetos por que he intentado crear el tipo Iterator de dos maneras diferentes. Una en la clase EnvioDeProducto y otra en la clase TestHerencia4 pero no me ha servido de nada. Aquí os dejo las dos clases (la clase test está sin rematar):

Clase EnvioDeProducto:
Código: [Seleccionar]
import java.util.*;
public class EnvioDeProductos {
   
private List<Producto> listaEnvio;

public EnvioDeProductos () {
    listaEnvio = new ArrayList<Producto>();
}

public void addProducto (Producto producto){
    listaEnvio.add(producto);
}

public Producto getProducto (int pos) {
   return listaEnvio.get(pos);
}

public int getSize (){
    return listaEnvio.size();
}

public Iterator envioIterator (EnvioDeProductos listaEnvio) {
    Iterator<Producto> it = listaEnvio.iterator();
    return it;
}

}

Clase TestHerencia4:

Código: [Seleccionar]
import java.util.*;
public class TestHerencia4   {
    public static void main (String [] Args) {
        EnvioDeProductos nuevoEnvio = new EnvioDeProductos();
       
        ProductoFresco cosa1 = new ProductoFresco ();
        nuevoEnvio.addProducto(cosa1);
        ProductoFresco cosa2 = new ProductoFresco ();
        nuevoEnvio.addProducto(cosa2);
        ProductoRefrigerado cosa3 = new ProductoRefrigerado ();
        nuevoEnvio.addProducto(cosa3);
        ProductoRefrigerado cosa4 = new ProductoRefrigerado ();
        nuevoEnvio.addProducto(cosa4);
        ProductoRefrigerado cosa5 = new ProductoRefrigerado ();
        nuevoEnvio.addProducto(cosa5);
        CongeladoAgua cosa6 = new CongeladoAgua ();
        nuevoEnvio.addProducto(cosa6);
        CongeladoAgua cosa7 = new CongeladoAgua ();
        nuevoEnvio.addProducto(cosa7);
        CongeladoAire cosa8 = new CongeladoAire ();
        nuevoEnvio.addProducto(cosa8);
        CongeladoAire cosa9 = new CongeladoAire ();
        nuevoEnvio.addProducto(cosa9);
        CongeladoNitrogeno cosa10 = new CongeladoNitrogeno ();
        nuevoEnvio.addProducto(cosa10);
       
        Calendar fechaEnv = Calendar.getInstance();
        Calendar fechaCad = Calendar.getInstance();
       
       
        fechaEnv.set(2017,10,21);
        cosa1.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,22);
        cosa2.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,23);
        cosa3.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,24);
        cosa4.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,25);
        cosa5.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,26);
        cosa6.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,27);
        cosa7.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,28);
        cosa8.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,29);
        cosa9.setFechaEnvasado(fechaEnv);
        fechaEnv.set(2017,10,30);
        cosa10.setFechaEnvasado(fechaEnv);
       
       
       
        fechaCad.set(2018,10,22);
        cosa1.setFechaCaducidad(fechaCad);
        fechaCad.set(2018,10,22);
        cosa2.setFechaCaducidad(fechaCad);
        fechaCad.set(2018,10,22);
        cosa3.setFechaCaducidad(fechaCad);
        fechaCad.set(2018,10,22);
        cosa4.setFechaCaducidad(fechaCad);
        fechaCad.set(2018,10,22);
        cosa5.setFechaCaducidad(fechaCad);
        fechaCad.set(2018,10,22);
        cosa6.setFechaCaducidad(fechaCad);
        fechaCad.set(2018,10,22);
        cosa7.setFechaCaducidad(fechaCad);
        fechaCad.set(2018,10,22);
        cosa8.setFechaCaducidad(fechaCad);
        fechaCad.set(2018,10,22);
        cosa9.setFechaCaducidad(fechaCad);
        fechaCad.set(2087,10,22);
        cosa10.setFechaCaducidad(fechaCad);
       
     
        cosa1.setNumLote(0001);
        cosa2.setNumLote(0002);
        cosa3.setNumLote(0003);
        cosa4.setNumLote(0004);
        cosa5.setNumLote(0002);
        cosa6.setNumLote(0001);
        cosa7.setNumLote(0002);
        cosa8.setNumLote(0003);
        cosa9.setNumLote(0001);
        cosa10.setNumLote(0041);
       
        cosa1.setPaisOrigen("Chiquitistán");
        cosa2.setPaisOrigen("Bananistán");
        cosa3.setPaisOrigen("La Gila");
        cosa4.setPaisOrigen("Trumpellot");
        cosa5.setPaisOrigen("Camelot");
        cosa6.setPaisOrigen("Camelot");
        cosa7.setPaisOrigen("Bananistán");
        cosa8.setPaisOrigen("La Gila");
        cosa9.setPaisOrigen("Trumpellot");
        cosa10.setPaisOrigen("Chiquitistán");
       
        cosa3.setCodigoOSA("co003");
        cosa4.setCodigoOSA("co004");
        cosa5.setCodigoOSA("co005");
       
        cosa3.setTemRecomendada(5.5);
        cosa4.setTemRecomendada(4);
        cosa5.setTemRecomendada(2.5);
        cosa6.setTemRecomendada(-5.5);
        cosa7.setTemRecomendada(-4);
        cosa8.setTemRecomendada(-2.5);
        cosa9.setTemRecomendada(-20.5);
        cosa10.setTemRecomendada(-10);
       
        cosa6.setSalinidad(4);
        cosa7.setSalinidad(8.5);
       
        cosa8.setNitro(25);
        cosa8.setOxi(20);
        cosa8.setDiox(30);
        cosa8.setVapor(20);
        cosa9.setNitro(10);
        cosa9.setOxi(20);
        cosa9.setDiox(30);
        cosa9.setVapor(40);
       
        cosa10.setMetodo("Lento");
        cosa10.setTiempoExposicion(240);
       
        cosa1.datosFresco("cosa1");       
        cosa2.datosFresco("cosa2");     
        //cosa3.datosProducto("cosa3");
        //cosa3.datosFrio("cosa3");
        cosa3.datosRefrigerado("cosa3");
        //cosa4.datosProducto("cosa4");
        //cosa4.datosFrio("cosa4");
        cosa4.datosRefrigerado("cosa4");
        //cosa5.datosProducto("cosa5");
        //cosa5.datosFrio("cosa5");
        cosa5.datosRefrigerado("cosa5");
        //cosa6.datosProducto("cosa6");
        cosa6.datosAgua("cosa6");
        //cosa6.datosFrio("cosa6");
        //cosa7.datosProducto("cosa7");
        cosa7.datosAgua("cosa7");
        //cosa7.datosFrio("cosa7");
        //cosa8.datosProducto("cosa8");
        cosa8.datosAire("cosa8");
        //cosa8.datosFrio("cosa8");
        //cosa9.datosProducto("cosa9");
        cosa9.datosAire("cosa9");
       // cosa9.datosFrio("cosa9");
        //cosa10.datosProducto("cosa10");
        cosa10.datosNitrogeno("cosa10");
        //cosa10.datosFrio("cosa10");
       
        System.out.println("El envío se compone de " + nuevoEnvio.getSize() + " artículos:");
        Iterator<Producto> it = nuevoEnvio.iterator();
        while (it.hasNext()) {
           System.out.println("El artículo " + it.next()+ " tiene las siguientes características:");
           it.next().datosProducto(it.next().toString());

    }
}
}

Gracias por vuestros comentarios. Saludos

3
Hola de nuevo compañeros.

Ha sido un periodo largo sin aparecer por aquí (bajo mi punto de vista, a lo mejor a otros os parece que ha sido poco  ;D ;D).  No me planteo ni por asomo abandonar este curso de Java (lo siento) y como muestra mi código para las clases de este ejercicio CU00686B que esperan vuestras sugerencias y comentarios, siempre os estaré agradecido por vuetra ayuda.

Clase Producto:

Código: [Seleccionar]
public class Producto {
    private String fechaCaducidad;
    private int numLote;
   
    public Producto () {
        fechaCaducidad = "";
        numLote = 0;
    }
     public void setFechaCaducidad (String fechaCaducidad){
         this.fechaCaducidad = fechaCaducidad;
        }
        public void setNumLote (int num) {
            numLote = num;
        }
        public String getFechaCaducidad (){
            return fechaCaducidad;
        }
        public int getNumLote () {
            return numLote;
        }
        public void datosProducto (String nombreProducto) {
            System.out.println ("El producto " + nombreProducto +" tiene como fecha de caducidad: " + fechaCaducidad);
            System.out.println ("El producto " + nombreProducto +" tiene como número de lote: " + numLote);
        }
    }

Y ahora la clase ProductoFresco:

Código: [Seleccionar]
public class ProductoFresco extends Producto {
    private String fechaEnvasado;
    private String paisOrigen;
   
    public ProductoFresco () {
        super();
        fechaEnvasado="";
        paisOrigen="";
    }
   
    public void setFechaEnvasado (String fechaEnvasado) {
        this.fechaEnvasado = fechaEnvasado;
    }
   
    public void setPaisOrigen (String paisOrigen) {
        this.paisOrigen = paisOrigen;
    }
   
    public String getFechaEnvasado (){ return fechaEnvasado;}
   
    public String getPaisOrogen () {return paisOrigen;}
   
    public void datosFresco (String nombreProducto) {
        System.out.println ("El producto " + nombreProducto +" tiene como fecha de envasado: " + fechaEnvasado);
        System.out.println ("El producto " + nombreProducto +" tiene como país de origen " + paisOrigen);
    }
   
}

Clase ProductoRefrigerado:

Código: [Seleccionar]
public class ProductoRefrigerado extends Producto {   
    private String codigoOSA;
   
    public ProductoRefrigerado () {
        super();
        codigoOSA = null;
    }
       
    public void setCodigoOSA (String codigoOSA) {
        this.codigoOSA = codigoOSA;
    }
   
    public String getCodigoOSA () {return codigoOSA;}
   
    public void datosRefrigerado (String nombreProducto) {
        System.out.println ("El producto " + nombreProducto +" tiene como codigo O.S.A.: " + codigoOSA);
    }
   
}

Clase ProductoCongelado:

Código: [Seleccionar]
public class ProductoCongelado extends Producto {   
    private float temRecomendada;
   
    public ProductoCongelado () {
        super();
        temRecomendada= 0;
    }
       
    public void setTemRecomendada (float temRecomendada) {
        this.temRecomendada = temRecomendada;
    }
   
    public float getTemRecomendada () {return temRecomendada;}
    public void datosCongelado (String nombreProducto){
        System.out.println ("El producto " + nombreProducto +" tiene como teperatura de congelación recomendada: " + temRecomendada);
    }
   
}

Y por último la clase TestHerencia2:

Código: [Seleccionar]
public class testHerencia2 {
    public static void main (String [] Args) {
       
        ProductoFresco cosa1 = new ProductoFresco ();
        ProductoRefrigerado cosa2 = new ProductoRefrigerado ();
        ProductoCongelado cosa3 = new ProductoCongelado ();
       
        cosa1.setFechaCaducidad("1-1-2018");
        cosa2.setFechaCaducidad("2-2-2018");
        cosa3.setFechaCaducidad("3-3-2018");
       
        cosa1.setNumLote(0001);
        cosa2.setNumLote(0002);
        cosa3.setNumLote(0003);
       
        cosa1.setFechaEnvasado ("1-1-2017");
        cosa1.setPaisOrigen("Chiquitistán");
       
        cosa2.setCodigoOSA("co002");
       
        cosa3.setTemRecomendada(-20.5f);
       
        cosa1.datosProducto("cosa1");
        cosa1.datosFresco("cosa1");
        cosa2.datosProducto("cosa2");
        cosa2.datosRefrigerado("cosa2");
        cosa3.datosProducto("cosa3");
        cosa3.datosCongelado("cosa3");
    }
}

Hasta pronto.

4
Hola amigos, aquí les dejo las dos clases que he realizado para este ejercicio CU00682B del tutorial de programación Java. Son bastante sencillas pues están hechas con el único propósito de aprender a manejar clases tipo enum.

Como siempre, gracias a todos por vuestro tiempo y  por los comentarios.

Clase TipoDePiedras:

Código: [Seleccionar]
public enum TipoDePiedra {
    CALIZA(1200f),
    MARMOL(1423.55f),
    PIZARRA(1325f),
    CUARZITA(1466.22f);
   
    private final float pesoEspecifico;//con double quedaban los números más feos.
   
    TipoDePiedra (float pesoEspecifico) {
        this.pesoEspecifico = pesoEspecifico;
    }
   
    public float getPeso () {return pesoEspecifico;}
}


Y ésta es la clase Test:

Código: [Seleccionar]
/**
 * clase test muy sencilla sin ningún tipo de alarde...excepto puede que el hecho de usar la palabra alarde :)
 */
public class TestPiedras {
   
    public static void main (String [] Args) {
        System.out.println ("El peso de un palet de cada clase de piedra es: ");
        for (TipoDePiedra tmp: TipoDePiedra.values()) {
            System.out.println (tmp.toString()+ ": " + (tmp.getPeso() * 2.27) + " Kg.");
        }
    }
}

5
Hola de nuevo, tras unos días ajetreados aquí estamos de nuevo dando la paliza  ;D. En esta ocasión os dejo el código que he realizado para este ejercicio del curso de programación Java para que comentéis cualquier cosa que se os ocurra. Gracias mil como siempre a todos por vuestro tiempo.
He aprovechado para ir practicando lo del javadoc.


Clase Vehículos.

Código: [Seleccionar]
package Coches;
import java.util.*;
/**
 * Esta clase define vehículos que pueden pertenecer a una de cinco marcas incluidas en un Tipo enumerado.
 * @author maxplanck
 */
public class Vehiculo {
    public enum Marca {FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
    private String matricula;
    private Marca marca;
    /**
     * constructor sin parámetros que inicializa a cadena vacía y null.
     * @version 1.0 :)
     */     
    public Vehiculo(){
        matricula= "";
        marca = null;
    }

    /**
     * Método que devuelve la matrícula
     * @return Un String
     */   
    public String getMat () {return matricula;}

    /**
     * Método que devuelve la narca del coche.
     * @return Un tipo enumerado.
     */   
    public Marca getMar () {return marca;}

    /**
     * Método para establecer la matrícula.
     */   
    public void setMat (String mat){matricula = mat;}

    /**
     * Método para establecer la marca.
     */   
    public void setMar (Marca mar) {marca = mar;}
}

Y ahora la clase Test.
Código: [Seleccionar]
package Coches;
import java.util.*;
/**
 * Clase para testear el Tipo enumerado de la clase Vehiculo del mismo package. Sin constructor.
 * @author maxplanck
 */
public class TestVehiculo {   
    /**
     * Método main que permite establecer y comprobar marca y matrícula del vehículo nuevo.
     */
    public static void main (String [] Args) {
        Vehiculo car = new Vehiculo();
        String ent = "";
        Scanner tec = new Scanner(System.in);
        boolean q = true;
        while (q == true) {
            System.out.println ("Introduzca marca vehículo nuevo.");
            ent = tec.nextLine();

            if (ent.equalsIgnoreCase("FORD")) {
                car.setMar(Vehiculo.Marca.FORD);

            }
            else if  (ent.equalsIgnoreCase("TOYOTA")) {
                car.setMar(Vehiculo.Marca.TOYOTA);
            }
            else if  (ent.equalsIgnoreCase("SUZUKI")) {
                car.setMar(Vehiculo.Marca.SUZUKI);

            }
            else if  (ent.equalsIgnoreCase("RENAULT")) {
                car.setMar(Vehiculo.Marca.RENAULT);

            }
            else if  (ent.equalsIgnoreCase("SEAT")) {
                car.setMar(Vehiculo.Marca.SEAT);

            }
            else{
                System.out.println ("Marca desconocida.");
            }

            System.out.println ("Introduzca matrícula vehículo nuevo.");
            ent = tec.nextLine();
            car.setMat(ent);
            System.out.println ("La marca es: " + car.getMar() + "  y la matrícula es: " + car.getMat());
            System.out.println ("¿Desea añadir otro vehículo?. S/N");
            ent =tec.nextLine();
            if (ent.equalsIgnoreCase("n")){// por sencillez no contemplo el caso de otro caracter distinto de S/N
                q = false;
            }
        }       
    }
}

6
Este es mi código para este ejercicio CU00672B del curso de fundamentos de Java. Como siempre, espero y agradezco vuestros comentarios:

Código: [Seleccionar]
import java.util.*;
public class Adivina {
    public static void main (String [] args) {       
        Integer integ = 0;
        Random ran = new Random();
        int alea = ran.nextInt(100) + 1;// +1  porque nextInt incluye el cero y no el cien
        Scanner tec =new Scanner(System.in);
        System.out.print ("Intente adivinar el número secreto, teclee un número entre 1 y 1000:");
        integ = Integer.valueOf(tec.nextLine());
        int ent = (int)integ;

        while (ent != alea){
           
            if (ent > alea) {
                System.out.print ("El número secreto es menor, puebe de nuevo: ");
                ent = Integer.valueOf(tec.nextLine());                               
            }             
            else if (ent < alea){             
                System.out.print ("El número secreto es mayor, puebe de nuevo: ");
                ent = Integer.valueOf(tec.nextLine());
            }
        }
        System.out.print ("Acertó!!!");
    }
}
Un saludo.

7
Sin apenas resaca y recién levantado, mi primera tarea del año es mandaros las clases de este ejercicio CU00667B del tutorial de programación en Java desde cero, (que me ha costado un montón... que rayada con el iterator hasta dar con el null  :P).

Bueno, ahí va la primera.

Clase CantanteFamoso:

Código: [Seleccionar]
import java.util.*;
public class CantanteFamoso {
    private  String nombre;
    private String discoConMasVentas;
    public CantanteFamoso () {
        nombre = "";
        discoConMasVentas = "";
    }
   
    public CantanteFamoso (String name1,String disco1) {
        nombre = name1;
        discoConMasVentas = disco1;
    }
   
    public  String getNombre (){return nombre;}
   
    public  String getDisco (){return discoConMasVentas;}
   
    public  void setNombre (String nombre2) {nombre = nombre2;}
   
    public  void setDisco (String disco2 ){discoConMasVentas = disco2;}
}


Y aquí la segunda, ListaCantantesFamosos.

Código: [Seleccionar]
import java.util.*;
public class ListaCantantesFamosos {
    private static ArrayList<CantanteFamoso> lista1;

    public ListaCantantesFamosos () {
        lista1 = new ArrayList<CantanteFamoso>();

    }

    public static void listaInicial ()  {
        CantanteFamoso cantorA = new CantanteFamoso ("Siniestro Total" , "¿Cuándo se come aquí?");
        lista1.add(cantorA);
        CantanteFamoso cantorb = new CantanteFamoso ("The Smiths" , "¿The Queen is dead?");
        lista1.add(cantorb);
    }
    //public static String getDisc1 (int poss2) {return (lista1.get(poss2)).getDisco();}
    public static void listar() {
        CantanteFamoso cantorX = null;
        Iterator<CantanteFamoso> it = lista1.iterator();
        while (it.hasNext() == true) {
            cantorX = it.next();
            System.out.println ("Nombre del cantante/grupo: " + cantorX.getNombre() + ";    Nombre del disco: " + cantorX.getDisco());
        }
       
    }

    public static void preguntar(){
        String ent = "";
        boolean si = true;
        while (si == true){
            System.out.println ("¿Desea añadir otra entrada?: S/N");
            Scanner tec =new Scanner(System.in);
            ent = tec.nextLine();
            if (ent.equalsIgnoreCase ("S")) {
                nuevo();
            }
            else if (ent.equalsIgnoreCase ("n")) {
                System.out.println ("Fin del programa, gracias por colaborar.");
                System.out.println ("La lista definitiva es:");
                listar();
                si = false;
            }
            else {
                System.out.println ("Entrada no válida.");
                //evaluar();
            }
        }
    }

    public static void nuevo () {
        CantanteFamoso cantorX;
        String ent1 = "";
        System.out.println ("Introduzca nuevo nombre de cantante/grupo.");
        Scanner tec1 =new Scanner(System.in);
        ent1 = tec1.nextLine();
        String ent2 = "";
        System.out.println ("Introduzca nuevo nombre disco.");
        Scanner tec2 =new Scanner(System.in);
        ent2 = tec2.nextLine();           
        cantorX = new CantanteFamoso(ent1,ent2);
        lista1.add(cantorX);
        System.out.println ("La nueva lista  es:");
        listar();
    }


Y ahora la última, TestLista:

Código: [Seleccionar]
import java.util.*;
public class TestLista {

   public static void main (String[] args) {
       ListaCantantesFamosos listaT = new ListaCantantesFamosos ();
       ListaCantantesFamosos.listaInicial();
       System.out.println ("La lista actual contiene las siguientes entradas:");
       ListaCantantesFamosos.listar();
       ListaCantantesFamosos.preguntar();
       
    }
}

Gracias como siempre por vuestro increible apoyo, espero vuestros consejos.

8
Hola a todos. Ya sé que son fechas señaladas para muchos pero yo sigo totalmente enganchado a ésto y no puedo parar. Éste es el código que he realizado para este ejercicio. Estoy contento de como me ha quedado con su bucle for-each en el método main de la clase Test y todo  ;D...pero con muchas dudas. Quería probar a usar un método para cada cosa pero con eso del static del main me he visto obligado a poner static en todas la variables y métodos, ¿Es eso correcto o dará algún problema ?.
Cuando compilo la clase Test me sale un warnig que no entiendo (lo entiendo pero no lo comprendo  ???) , aún así todo funciona.

C:\....\TestListaCantantesFamosos.java uses unchecked or unsafe operations. Recompile with -Xllntunchecked ror(sic) detalls (sic).

Aquí la clase ListaCantantesFamosos.

Código: [Seleccionar]
import java.util.*;
public class ListaCantantesFamosos {
    private ArrayList<String> lista1;
   
    public ListaCantantesFamosos () {
        lista1 = new ArrayList<String> ();
        lista1.add("Pepe"); 
        lista1.add("Juan");
        lista1.add("Jaime");
    }
   
    public String getNombre (int pos) {return lista1.get(pos);}
   
    public void addCant (String name) {lista1.add(name);}
   
    public int sizeList () {return lista1.size();}
}

Y aquí la reina de mis ojos  ;), la clase TestListaCantantesFamosos.

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

public class TestListaCantantesFamosos {
    static String entrada = "";
    static ListaCantantesFamosos lista2 = new ListaCantantesFamosos();//este static me parecía raro
    static String tec = "";
    static boolean si = true;
   
    public  static void scan1 () {
        System.out.println ("Por favor introduzca nombre de famoso");
        Scanner scanner1 = new Scanner (System.in);
        entrada = scanner1.nextLine ();
        lista2.addCant(entrada);
    }

    public  static void pedirNombre() {       
        System.out.println ("¿Desea introducir otro nombre?: Sí, No");
        Scanner ent = new Scanner (System.in);
        tec = ent.nextLine();
        TestListaCantantesFamosos.eval();
    }

    public static void eval ()   {

        if (tec.equalsIgnoreCase("sí") || tec.equalsIgnoreCase("si") ){

            TestListaCantantesFamosos.scan1();

        }
        else if (tec.equalsIgnoreCase("no")){si = false;}

        else {
            System.out.println ("Entrada no válida");
            TestListaCantantesFamosos.pedirNombre(); 
       
        }
    }

    public static void main(String [] args) {

        TestListaCantantesFamosos.scan1();

        TestListaCantantesFamosos.scan1();
       
            do {
                TestListaCantantesFamosos.pedirNombre();

            } while (si == true);

            System.out.println ("La lista contiene los nombres siguientes:");
            ArrayList<String> lista3 = new ArrayList();
            int i = 0;
            for (i = 0; i < lista2.sizeList();i++) {
                lista3.add(lista2.getNombre(i));
            }
            for (String a:lista3){
                System.out.println (a);
            }
            System.out.println ("Fin del programa.Gracias por su participación");
        }

    }
Gracias de nuevo por vuestro apoyo y paciencia...  y Bon Nadal desde Valencia. (despedida con rima :P)

9
Hola de nuevo, yo ahora liado con esto de los ArrayList pido vuestra opinión sobre mi código para este ejercicio CU00665B del curso de fundamentos de programación Java.

La primera clase, la de la lista, sería:

Código: [Seleccionar]

import java.util.*;
public class ListaCantantesFamosos {
    private ArrayList<String> lista1;
   
    public ListaCantantesFamosos () {
        lista1 = new ArrayList<String> ();
        lista1.add("Pepe"); 
        lista1.add("Juan");
        lista1.add("Jaime");
    }
   
    public String getNombre (int pos) {return lista1.get(pos);}
   
    public void addCant (String name) {lista1.add(name);}
   
    public int sizeList () {return lista1.size();}
}
       
Y la segunda, la del Test, es ésta:
Código: [Seleccionar]

import java.util.*;
public class TestListaCantantesFamosos {

    public static void main(String [] args) {
        ListaCantantesFamosos lista2 = new ListaCantantesFamosos();
        String entrada = "";
       
        System.out.println ("Por favor introduzca nombre de famoso nº 1");
        Scanner scanner1 = new Scanner (System.in);
        entrada = scanner1.nextLine ();
        lista2.addCant(entrada);
       
        System.out.println ("Por favor introduzca nombre de famoso nº 2");
        Scanner scanner2 = new Scanner (System.in);
        entrada = scanner2.nextLine ();
        lista2.addCant(entrada);
        System.out.println ("La lista contiene los nombres siguientes:");
       
        int i = 0;
        for (i = 0; i < lista2.sizeList();i++) {
            System.out.println (lista2.getNombre(i));
        }
        System.out.println ("Fin del programa");
    }
}

Gracias como siempre por vuestra ayuda. Es increible lo que conseguís con este sitio. :o

10
Hola, aquí les dejo el código que he escrito para este ejercicio CU00662B del curso de fundamentos de programación orientada a objetos.

Me ha quedado un poco más complejo de lo que me gustaría, pero funciona, creo, que bien. Estoy intentado hacerlo usando switch y un sólo metodo aparte al que llamar para escribir los resultados. Por ahora esto es lo que hay  ;D.

Código: [Seleccionar]
import java.util.Scanner;
public class ComparaLetras {
    private String texto1;
    private String texto2;
   
    public static void main (String [] args) {
        System.out.println ("Por favor introduzca la primera palabra");
        Scanner palabra1 = new Scanner (System.in);
        String texto1 = palabra1.nextLine ();
       
        System.out.println ("Por favor introduzca la segunda palabra");
        Scanner palabra2 = new Scanner (System.in);
        String texto2 = palabra2.nextLine ();
       
        int i = 0;
       
        if (texto1.length() < texto2.length()) {
           
            for (i = 0;i < texto1.length();i++) {
               
                 if (texto1.substring(i,(i + 1)).equals(texto2.substring(i,(i +1)))) {
                     System.out.println ("¿Letra nº " + (i +1) + " igual en las dos palabras?: true");
                    }
                        else {
                             System.out.println ("¿Letra nº " + (i +1) + " igual en las dos palabras?:false");
                            }
                        }
                    System.out.println ("La palabra \"" +texto2 + "\" tiene mas de " + texto1.length() + " letras.");
                   
                }
               
               
                else if (texto1.length() == texto2.length()) {
                    for (i = 0;i < texto2.length();i++) {
                 if (texto1.substring(i,(i + 1)).equals(texto2.substring(i,(i +1)))) {
                     System.out.println ("¿Letra nº " + (i +1) + " igual en las dos palabras?: true");
                    }
                        else {
                             System.out.println ("¿Letra nº " + (i +1) + " igual en las dos palabras?:false");
                           
                            }
                        }
                    }
                       
                   else {
                   
                    for (i = 0;i < texto2.length();i++) {
               
                 if (texto1.substring(i,(i + 1)).equals(texto2.substring(i,(i +1)))) {
                     System.out.println ("¿Letra nº " + (i +1) + " igual en las dos palabras?: true");
                    }
                        else {
                             System.out.println ("¿Letra nº " + (i +1) + " igual en las dos palabras?:false");
                            }
                        }
                       
                    System.out.println ("La palabra \"" +texto1 + "\" tiene mas de " + texto2.length() + " letras.");
                    }
                }
            }
Gracias como siempre por vuestro interés. No sé si se esperaba obtener el true o false por algún método getter... me pareció más fácil así.

11
Ejercicio CU00636B del curso de fundamentos de programación java.

El programa funciona pero siempre me queda la duda de si he contemplado todos los casos con el condicional pues cada uno los vemos de una manera. Como siempre, gracias anticipadas.

Código: [Seleccionar]
public class Rueda {
    private String tipo;
    private double grosor;
    private double diametro;
    private String marca;
   
    public Rueda (String valorTipo,double valorGrosor,double valorDiametro, String valorMarca) {
        tipo = valorTipo;
        grosor = valorGrosor;
        diametro = valorDiametro;
        marca = valorMarca;
    }
     public void setTipo (String valorTipo) {tipo = valorTipo;}
     public void setGrosor (double valorGrosor) {grosor = valorGrosor;}
     public void setDiametro (double valorDiametro) {diametro = valorDiametro;}
     public void setMarca (String valorMarca) {marca = valorMarca;}
     
     public String getTipo () {return tipo;}
     public double getGrosor () {return grosor;}
     public double getDiametro () {return diametro;}
     public String getMarca () {return marca;}
     
     public void comDim () {
      String veh = "";//Soy vago redomado, es para escribir menos :)
      String mensaje = "La rueda es para un vehículo ";
         if (diametro > 1.4 && grosor > 0.4) {
             veh = "grande";
             System.out.println (mensaje + veh);
            }
            else if (diametro <= 1.4 && diametro > 0.8 && grosor > 0.25) {
                veh = "mediano";
                System.out.println (mensaje + veh);
            }
            else if (diametro < 0.8) {
                veh = "pequeño";
                System.out.println (mensaje + veh);
            }
            else {System.out.println ("El grosor para esta rueda es inferior al recomendado");}
        }
    }

12
Hola.  Aquí les dejo el código que he escrito para el ejercicio CU00633B. Está correcto de sintaxis y funciona bien. Mis dudas son más bien de estilo:

1-¿Se considera correcta la manera de calcular los años directamente en el System.out o es mejor el uso de variables intermedias como he visto por ahí?(líneas 60-62).

2- ¿ Se puede usar un método get como el que pongo en el comentario o es mala práctica?(líneas 63-68).

Gracias anticipadas a todos.

 
Código: [Seleccionar]
public class Medico {
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private int dni;
    private String especialidad;
    public Medico () {
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        dni = 0;
        especialidad = "";
    }

    public void setNombre (String valorNombre){
        nombre = valorNombre;
        System.out.println ("El nuevo nombre es " + nombre);
    }

    public void setApellidos (String apellido1,String apellido2) /*Esto es para probar pasar más de un parámetro*/{
        apellidos = apellido1 + " " + apellido2;
        System.out.println ("Los nuevos apellidos son " + apellidos);
    }

    public void setEdad (int valorEdad) {
        edad = valorEdad;
        System.out.println ("La nueva edad es " + edad);
    }

    public void setCasado (boolean valorCasado) {
        casado = false;
        System.out.println ("El nuevo estado es " + valorCasado);
    }

    public void setDni (int valorDni) {
        dni = valorDni;
        System.out.println ("El nuevo Dni es " + valorDni);
    }

    public void setEspecialidad (String valorEspecialidad) {
        especialidad = valorEspecialidad;
        System.out.println ("La nueva especialidad es " + valorEspecialidad);
    }

    public String getNombre (){return nombre;}

    public String getApellidos () {return apellidos;}

    public int getEdad () {return edad;}

    public boolean getCasado () {return casado;}

    public int getDni () {return dni;}

    public String getEspecialidad () {return especialidad;}

    public void calcMultEdad () {
        System.out.println ("El médico de nombre " + nombre + " y con especialidad " + especialidad + " tendrá una edad mútiplo de 5 dentro de " + (5 - (edad % 5)));
         }//No sé las recomendaciones para establecer saltos de línea
         /*También funciona lo siguiente
          * public String calcMultEdad () {
          *     System.out.println ("El médico de nombre " + nombre + " y con especialidad " + especialidad + " tendrá una edad mútiplo de 5 dentro de " + (5 - (edad % 5)));
          *     return "";
          *     }
          */
}




13
Hola a todos, soy nuevo por estos lares y quería presentarme. Tengo más años que un bancal  que decimos por aquí. Soy de la generación Spectrum nada menos y con el BASIC era un fiera... ahora tras mil vueltas en la vida me ha dado por aprender JAVA más por curiosidad intelectual que por otra cosa. Quiero decir que de todos los cursos online y manuales que he mirado (por no exagerar diré que sólo unos miles) éste de aprenderaprogramar es el que me ha enganchado (de verdad, estoy deseando cada diía llegar a casa para ponerme con ello)y me ha hecho progresar como yo quería, gracias a todos los que formais parte de él. Ojalá pueda contribuir en un futuro al menos con la mitad de lo que ya llevo ganado. Espero vuestras preguntas sobre BASIC  ;D ;D ;D.

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