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

Páginas: [1]
1
Buenas, aquí seguimos, desde ya muhas gracias a los que anteriormente se tomaron el tiempo de verificar mis soluciones presentadas.

Continuando con el curso y la llamada de un método de una superclase desde una subclase ... aquí dejo el código. Como siempre, "no me dejen pasar una" para seguir mejorando.

Algunos comentarios como

//declaracion de atributos
//constructores
//metodos

los sigo realizando aun para acostumbrarme a mantener un orden y en breve los estaria dejando de usar .aunque su uso en codigos mas complejos ayuda a la comprension del mismo

Código de la clase Profesor:

Código: [Seleccionar]
package CU00692B;

/**
 * Clase Profesor , una superclase que tiene como atributos los siguientes campos
 * Nombre, edad y numero de años consolidados
 */
public class Profesor{
    //declaracion de atributos
    private String nombre;
    private int edad;
    private int añosConsolidados;

    //Constructos
    /**
     * Constructor de la clase Profesor sin parametrizar
     * todas sus variables se iniciaran por defecto en 0 y ""
     */
    public Profesor(){
        nombre="";
        edad=0;
        añosConsolidados=0;
    }

    /**
     * Constructor de la clase Profesor parametrizada
     * @param nombre Nombre del profesor
     * @param edad Edad del profesor
     * @param añosConsolidados Los años consolidados del profesor
     */
    public Profesor(String nombre,int edad, int añosConsolidados){
        this.nombre=nombre;
        this.edad=edad;
        this.añosConsolidados=añosConsolidados;
    }
    //metodos de la clase Profesor
    /**
     * setNombre Permite establecer o modificar el nombre del profesor
     */
    public void setNombre(String nombre){
        this.nombre=nombre;
    }

    /**
     * setEdad Permite establecer o modificar la edad del profesor
     */
    public void setEdad(int edad){
        this.edad=edad;
    }

    /**
     * setAñosConsolidados permite establecer o modificar los años consolidados
     */
    public void setAñosConsolidados(int añosConsolidados){
        this.añosConsolidados=añosConsolidados;
    }

    /**
     * getNombre Devuelve el nombre del profesor
     */
    public String getNombre(){
        return nombre;
    }

    /**
     * getEdad Devuelve la edad del profesor
     */
    public int getEdad(){
        return edad;
    }

    /**
     * getAñosConsolidados devuelve los años consolidados del profesor
     */
    public int getAñosConsolidados(){
        return añosConsolidados;
    }

    /**
     * obtenerSalarioBase Devuelve el valor del salario base  del profesor
     */
    public double obtenerSalarioBase(){
        double salarioBase=(725 + (añosConsolidados*33.25));
        return salarioBase;
    }
}


Código de la clase profesorEmerito

Código: [Seleccionar]
package CU00692B;

/**
 * Clase ProfesorEmerito,sub-tipo(sub-clase) de clase Profesor
 * hereda todos sus atributos y añade un atributo especifico
 */
public class ProfesorEmerito extends Profesor{
    //declaracion de atributos
    private int añosEmerito;
    //constructor
    /**
     * Constructor sin parametrizar , inicializa todos los valores por defecto en 0 y ""
     */
    public ProfesorEmerito(){
        super();
        añosEmerito=0;
    }

    /**
     * Constructor parametrizado de la clase ProfesorEmerito
     * @param nombre Nombre del Profesor
     * @param eda Edad del profesor
     * @param añosConsolidados Años consolidados del profesor
     * @param añosEmerito Años emeritos del profesor
     */
    public ProfesorEmerito(String nombre,int edad,int añosConsolidados,int añosEmerito){
        super(nombre,edad,añosConsolidados);
        this.añosEmerito=añosEmerito;
    }
    //metodos
    /**
     * setAñosEmerito Permite establecer o modificar los años Emeritos del profesor
     */
    public void setAñosEmerito(int añosEmerito){
        this.añosEmerito=añosEmerito;
    }

    /**
     * getAñosEmerito devuelve el valor de añosEmerito
     */
    public int getAñosEmerito(){
        return añosEmerito;
    }

    /**
     * obtenerSalarioBase Devuelve el salario base mas un plus por años emerito
     */
    public double obtenerSalarioBase(){
        double salarioBase=(super.obtenerSalarioBase() + (47.80*añosEmerito));
        return salarioBase;
    }

}


Como consulta añadida me gustaria que me indicaran si esta forma sería correcta tambien

Código: [Seleccionar]
  public double obtenerSalarioBase(){
        return (super.obtenerSalarioBase() + (47.80*añosEmerito));
}

Evitaría la declaracion de una variable local, pero entiendo que no en todos los casos
seria posible evitar la declaracion de la misma, ya sea por necesidad o por legilibilidad.
       

2
Buenas de nuevo,pongo aquí el código del ejercicio CU00678B del manual de programación java desde cero. Tengo que decir que me ha costado entender el concepto de Interface, y más que nada su función porque en un principio, parece que no aporta nada, y será un concepto que tendré que revisar nuevamente. Sin más dilaciones,dejo mi propuesta de resolución al ejercicio citado .


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

/**
 * CU00678B
 *  La interface Set de Java es implementada por las clases HashSet y TreeSet.
 *  Busca información sobre estas clases en la documentación del api Java.
 *  Crea un programa Java que haga lo siguiente:
 *  a) Declarar un ArrayList de objetos de tipo Set.
 *  b) Crear un objeto de tipo HashSet para contener Strings y haz que contenga las cadenas “sol”, “luna”, “saturno”.
 *  c) Crear un objeto TreeSet para contener Integers y haz que contenga los números 2, 8, 5.
 *  d) Añade los objetos HashSet y TreeSet como elementos del ArrayList.
 *  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.
 */

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

        ArrayList<Set> miLista;     //Una lista que contiene objetos de tipo Set(HashSet,TreeSet,EnumSet,etc)
        HashSet<String> lista1;     //Coleccion de elementos no duplicados respaldados por una tabla de hash
        TreeSet<Integer> lista2;    //una coleccion de elementos no duplicados basada en TreeMap

        lista1 = new HashSet<String>();//añadiendo objetos tipo String (cadena de texto) al HashSet;
        lista1.add("sol");
        lista1.add("Luna");
        lista1.add("Saturno");

        lista2 = new TreeSet<Integer>();//Añadiendo objetos tipo Integer(int no es objeto) al Set
        lista2.add(2);
        lista2.add(8);
        lista2.add(5);

        miLista = new ArrayList<Set>();//añadiendo HashSet y Set a mi ArrayList(lo puedo hacer por indicar un tipo y no una clase)
        miLista.add(lista1);
        miLista.add(lista2);

        Iterator<Set> listaIterada = miLista.iterator();    //creando iterador para miLista ArrayList<set>
        Iterator<String> lista1Iterada = lista1.iterator(); //creando iterador para lista1 HashSet<String>
        Iterator<Integer> lista2Iterada = lista2.iterator();//creando iterador para lista2 TreeSet<Integer>
     
        //recorro con un iterador mi HashSet y mi Set ,contenidos en un Arraylist ,recorrido a su vez a traves de un iterador
        while(listaIterada.hasNext()){
            while(lista1Iterada.hasNext()){
                System.out.print(lista1Iterada.next() + "," );
            }
            while(lista2Iterada.hasNext()){
                System.out.print(lista2Iterada.next());
                if (lista2Iterada.hasNext())
                {
                    System.out.print(",");
                   
                }
            }
            listaIterada.next();
        }

    }
}

3
Buenas, me gustaria que me den su opinión sobre esta propuesta de solución para el ejercicio CU00667B del tutorial de programación Java. Me encuentro en formación y si bien el ejercicio creo que lo he resuelto bien me gustaria que me den su opinion pero en primer medida si detectan errores ya sea de sintaxis o de otro tipo ,que me los indiquen para corregir y mejorar, en orden comenzando con la clase main, y luego el código de las siguientes dos clases.Desde ya muschas gracias!


Código: [Seleccionar]
import java.util.Scanner;
/**
 * clase main de prueba
 */

public class test_ListaCantantesFamosos
{
    public static void main(String[] args)
    {
        ListaCantantesFamosos lista=new ListaCantantesFamosos();
        String opcion = "s";
        Scanner entrada = new Scanner(System.in);
       
        System.out.println("Esta es la lista Inicial");
        lista.mostrarListaCantantes();
       
         while(opcion.charAt(0)!='n')
        {
         lista.addCantanteFamoso();
         System.out.println("\rLa lista actualizada es" );
         lista.mostrarListaCantantes();
         System.out.println("Desea continuar? s/n ");
         opcion = entrada.nextLine();
        }
       
    }
   
}
       


Clase ListaCantantesFamosos

Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Iterator;
/**
 * Esta clase contiene una lista con todos los cantantes famosos
 * cada cantante famoso es una instancia de CantanteFamoso
 */

public class ListaCantantesFamosos
{
    private ArrayList<CantanteFamoso> lista ;

    public ListaCantantesFamosos()
    {
        lista = new ArrayList<CantanteFamoso>();
        lista.add(new CantanteFamoso("Madonna","All i wants is you"));
        lista.add(new CantanteFamoso("Jorge Negrete","Jalisco"));
    }

    public void addCantanteFamoso()
    {
        lista.add(new CantanteFamoso());
    }

    public void mostrarListaCantantes()
    {
        Iterator<CantanteFamoso> dato= lista.iterator();
        while (dato.hasNext())
        {
            CantanteFamoso extraido = dato.next();
            System.out.println("*Artista: " + extraido.getNombreCantante() + " \tDisco mas vendido : " + extraido.getDiscoMasVendido()) ;
        }
    }

}


Clase CantanteFamoso

Código: [Seleccionar]
import java.util.Scanner;
/**
 * esta clase contiene a los objetos Cantantefamoso
 * compuesto por un nombre de cantante y el nombre
 * del disco mas vendido
 */

public class CantanteFamoso{

    private String nombreCantante;
    private String discoMasVendido;

    public CantanteFamoso()
    {
        setNombreCantante();
        setDiscoMasVendido();
    }
   
    public CantanteFamoso(String nombre,String disco)
    {
        nombreCantante=nombre;
        discoMasVendido = disco;
    }

    public void setNombreCantante()
    {
        Scanner entrada = new Scanner(System.in);
        System.out.println("Ingrese el nombre del cantante");
        nombreCantante = entrada.nextLine();
    }

    public void setDiscoMasVendido()
    {
        Scanner entrada = new Scanner (System.in);
        System.out.println("Ingrese el nombre del Disco mas vendido de " + nombreCantante);
        discoMasVendido = entrada.nextLine();
    }

    public String getNombreCantante()
    {
        return nombreCantante;
    }

    public String getDiscoMasVendido()
    {
        return discoMasVendido;
    }
}

4
Comunidad / Presentación
« en: 21 de Noviembre 2020, 05:48 »
Buenas a todos, aqui otro novel , con unos cuantos otoños encima, actualmente cursando una tecnicatura en desarrollo de software,aprobado con gran exito el primer año, y como tengo familia y un trabajo(no asociado a la programacion) debo aprovechar el tiempo libre para adelantar y es asi que aqui estoy, presentandome ante ustedes, actualmente recorriendo el curso java desde el principio, espero seguir con este impulso y poder ser tan bueno como algunos de los aqui presentes.Un saludo desde argentina y gracias por compartir el conocimiento.

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