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 - Luis Fdo Carvajal

Páginas: [1] 2
1
Buenos días, ejercicio CU00921C del tutorial de programación Java avanzado.

He tratado de desarrollar este ejercicio creando un arrayList y un LinkedList para que en tiempo de ejecución entreguen los resultados de ambos casos. Pero finalmente no logro eliminar del conteo los vehículos diferentes al objeto coche. No encuentro dónde esta el error.
Adjunto código correspondiente.
a) Implementa el programa usando ArrayList. ¿Cuál es el resultado que obtienes?

Rpta: En ambos casos el resultado final es el mismo utilizando el arrayList o el LinkedList, sólo que el primero gasta mucho mas tiempo de procesamiento.


b) Implementa el programa usando LinkedList ¿Cuál es el resultado que obtienes?

Rpta: En ambos casos el resultado final es el mismo utilizando el arrayList o el LinkedList, sólo que el segundo invierte mucho menos tiempo de procesamiento.

Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
/**
 *
 * @author itco1724
 */
public class TestVehiculo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        List<Vehiculo> cp = new ArrayList<Vehiculo>();
        List<Vehiculo> sp = new LinkedList<Vehiculo>();
        String[] Vehiculos = {"Coche", "Camion", "Furgoneta", "Moto"};

            Random r = new Random();
            Vehiculo temp = null;
            long inicio=0;
            long inicio1=0;
            long fin = 0;
            long fin1 = 0;
            int numeroCoches = 0;
            int numeroCamiones = 0;
            int numeroFurgonetas = 0;
            int numeroMotos = 0;
            int vehiculosEliminados = 0;

// LLenar las listas arrayList - LinkedList con 5000 tipos de vehiculos
           
            for(int i=0;i<5001;i++) {             
               cp.add(new Vehiculo(i,Vehiculos[r.nextInt((0)+4)]));
               sp.add(new Vehiculo(i,Vehiculos[r.nextInt((0)+4)]));
            }
                     
            Iterator<Vehiculo> it = cp.iterator();
            Iterator<Vehiculo> et = sp.iterator();
           
            while(it.hasNext()){

            temp = it.next();
            switch (temp.getTipo()){
                 case "Coche":
                    numeroCoches ++;
                    break;
                 case"Camion":
                    numeroCamiones ++;
                    break;
                 case "Furgoneta":
                    numeroFurgonetas ++;
                    break;
                 case "Moto":
                    numeroMotos ++;
                    break;
                }
            //Imprime el arrayList por completo
            //System.out.println(temp);
           
            }
            while(et.hasNext()){

            temp = et.next();
            switch (temp.getTipo()){
                 case "Coche":
                    numeroCoches ++;
                    break;
                 case"Camion":
                    numeroCamiones ++;
                    break;
                 case "Furgoneta":
                    numeroFurgonetas ++;
                    break;
                 case "Moto":
                    numeroMotos ++;
                    break;
                }
            //System.out.println(temp);
           
            }
            //Imprimir el arraList y el LinkedList con los objetos vehiculos contabilizados
            System.out.println("Resumen arraylist inicial : hay " + numeroCoches + " Coches,"+numeroCamiones + " Camiones," + numeroFurgonetas + " Furgonetas y " + numeroMotos + " Motos");
            System.out.println("Resumen LinkedList inicial : hay " + numeroCoches + " Coches,"+numeroCamiones + " Camiones," + numeroFurgonetas + " Furgonetas y " + numeroMotos + " Motos");
            //elimina todos los vehículos que no son coches de la arraylist y contabiliza el tiempo
           
            inicio = System.nanoTime();
           
            it = cp.iterator();
            while (it.hasNext()) {
            temp = it.next();
            // Eliminación de objetos del arrayList
            //if (!temp.getTipo().equals("Coche")) {it.remove(); vehiculosEliminados++;}
            if (temp.getTipo().equals("Camion") || temp.getTipo().equals("Furgoneta") || temp.getTipo().equals("Moto") ) {
                it.remove();
                vehiculosEliminados++;} 
            }
           
        //elimina todos los vehículos que no son coches del linkedList y contabiliza el tiempo
           
            inicio1 = System.nanoTime();
           
            et = sp.iterator();
            while (et.hasNext()) {
            temp = et.next();
            // Eliminación de objetos del LinkedList
            //if (!temp.getTipo().equals("Coche")) {et.remove(); vehiculosEliminados++;}
            if (temp.getTipo().equals("Camion") || temp.getTipo().equals("Furgoneta") || temp.getTipo().equals("Moto") ) {
                et.remove();
                vehiculosEliminados++;} 
            }
           
            //Añade mismo numero de coches a eliminados al arrayList
            for (int i=0; i<vehiculosEliminados; i++) {
            cp.add(new Vehiculo (numeroCoches+i+1, "Coche"));}
           
            //Añade mismo numero de coches a eliminados al LinkedList
            for (int i=0; i<vehiculosEliminados; i++) {
            sp.add(new Vehiculo (numeroCoches+i+1, "Coche"));}
           
            fin = System.nanoTime();
            fin1 = System.nanoTime();
            //Recorrer el arrayList para calcular las cantidades de vehiculos nuevamente
           
              it = cp.iterator();
             
            while (it.hasNext()) {
                Vehiculo tmp = it.next();
                if (tmp.getTipo().equals("Coche")) {numeroCoches++;}
                    else if (tmp.getTipo().equals("Camión")) {numeroCamiones++;}
                        else if (tmp.getTipo().equals("Furgoneta")) {numeroFurgonetas++;}
                else {numeroMotos++;}
            }
           
            //Recorrer el LinkedList para calcular las cantidades de vehiculos nuevamente
           
            et = sp.iterator();
             
            while (it.hasNext()) {
                Vehiculo tmp = it.next();
                if (tmp.getTipo().equals("Coche")) {numeroCoches++;}
                    else if (tmp.getTipo().equals("Camión")) {numeroCamiones++;}
                        else if (tmp.getTipo().equals("Furgoneta")) {numeroFurgonetas++;}
                else {numeroMotos++;}
            }
            System.out.println ("Tiempo empleado en eliminación-inserción (en nanosegundos): "+(fin-inicio)+".");
            System.out.println("Resumen arrayList final : hay " + numeroCoches + " Coches,"+numeroCamiones + " Camiones," + numeroFurgonetas + " Furgonetas y " + numeroMotos + " Motos");
            System.out.println ("Tiempo empleado en eliminación-inserción (en nanosegundos): "+(fin1-inicio1)+".");
            System.out.println("Resumen LinkedList final : hay " + numeroCoches + " Coches,"+numeroCamiones + " Camiones," + numeroFurgonetas + " Furgonetas y " + numeroMotos + " Motos");
    }   
}

Y la clase vehiculo
Código: [Seleccionar]
public class Vehiculo {

    private int ID;
    private String tipo;

    public Vehiculo(int ID, String tipo) {
        this.ID = ID;
        this.tipo = tipo; 
    }
   



@Override   
public String toString() { StringBuilder sb = new StringBuilder();
    return " VEHICULOS -->: ID" + ID + " " + "Tipo: "+ tipo;}

   
//Métodos
public int getID() { return ID; } //Método función para retornar el ID
public String getTipo() {return tipo;} //Método función retornar marca

 }  //Cierre de la clase

2
Buenos días. Ejercicio CU00920C del tutorial de programación Java avanzado.

El código, Saludos
Código: [Seleccionar]
package cuadrupedo;

/**
 *
 * @author itco1724
 */
public class Cuadrupedo {

    private String especie;
    private int ID;
   
   
   
 public Cuadrupedo (int ID, String especie){
   
    this.especie = especie;
    this.ID = ID;
    }   
   
  @Override
    public String toString() {
         return " CUADRUPEDO -->: ID" + ID + " " + "Tipo: "+ especie;}
   
     public String getEspecie() {return especie;}
     public int getID() {return ID;}
   
}//Cierre de la clase

Código: [Seleccionar]
package cuadrupedo;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;

/**
 *
 * @author itco1724
 */
public class TestCuadrupedo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        List<Cuadrupedo> cp = new ArrayList<Cuadrupedo>();
        String[] Cuadrupedos = {"Elefante", "Perro", "Gato", "Leon"};

            Random r = new Random();
            Cuadrupedo temp = null;
            String tipoCuadrupedo;
            int numeroLeones = 0;
            int numeroGatos = 0;
            int numeroPerros = 0;
            int numeroElefantes = 0;


     for(int i=0;i<10001;i++) {       
//generar enteros al azar entre dos límites DESDE , HASTA, ambos incluidos:
         
         cp.add(new Cuadrupedo(i,Cuadrupedos[r.nextInt((0)+4)]));}
     
            Iterator<Cuadrupedo> it = cp.iterator();

     while(it.hasNext()){

            temp = it.next();
            //System.out.println(temp);
            tipoCuadrupedo = temp.getEspecie();
           
            switch (tipoCuadrupedo){
                 case "Elefante":
                    numeroElefantes ++;
                    break;
                 case"Perro":
                    numeroPerros ++;
                    break;
                 case "Gato":
                    numeroGatos ++;
                    break;
                 case "Leon":
                    numeroLeones++;
                    break;
            }
           
            //SeleccioN animales con id múltiplo de 1000
            if (temp.getID()%1000 == 0 ){
            System.out.println(temp);}
            }

            System.out.println("Hay " + numeroLeones + " Leones,"+numeroGatos + " Gatos," + numeroPerros + " Perros y " + numeroElefantes + " Elefantes");
      }

}


3
Buenos días, presento el ejercicio  CU00919C del tutorial de programación Java avanzado

Código: [Seleccionar]
package animal;

/**
 *
 * @author itco1724
 */
public class Animal implements Comparable<Animal>{

    private String especie;
    private String nombre;
    private double peso;
    private int numeroDePatas;
    private int numero;
   
 
public Animal (String especie, String nombre, double peso, int numeroDePatas, int numero){
   
    this.especie = especie;
    this.nombre = nombre;
    this.peso = peso;
    this.numeroDePatas = numeroDePatas;
    this. numero = numero;
    }

     @Override
    public String toString() {
         return " Especie: "+ especie+ " Nombre: "+ nombre + " : " +" Numero de Patas: "+numeroDePatas+" Numero en la Lista: " + numero + "\n";}
   
//Cuando se trate de realizar una ordenación “natural”, esta se hará por orden alfabético de nombres.
    @Override
     public int compareTo(Animal o) {
         return this.nombre.compareTo(o.nombre);}
     
    public String getEspecie() {return especie;}
    public String getNombre() {return nombre;}
    public double getPeso (){return peso;}
    public int getnumeroDePatas() {return numeroDePatas;}
    public int getnumero (){return numero;}
   
}//Cierre de la clase

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

/**
 *
 * @author itco1724
 */
public class ListaDeAnimales {
   
    private ArrayList<Animal> listaanimales = null;  // Campo de la clase
    public ListaDeAnimales() {listaanimales = new ArrayList<Animal>();}  // Constructor de la clase
    public ArrayList<Animal> getListaDeAnimales(){return listaanimales;} //Omitimos otros métodos
    public Iterator<Animal> iterator() {return new MiIteradorListaDeAnimales();} // Método de la clase

    //sobreescrito el método toString
    @Override
    public String toString() {return listaanimales.toString();}  // Método de la clase

   
    // Clase interna
    protected class MiIteradorListaDeAnimales implements Iterator<Animal> {
     
        public int posicion = 0;    public boolean sepuedeeliminar = false;  // Campos

        @Override
        public boolean hasNext() {return posicion < listaanimales.size();}  // Método

        @Override
        public Animal next() {  // Método

            Animal res = listaanimales.get(posicion); // Creamos un objeto Persona igual al que recorremos
            posicion ++;
            sepuedeeliminar = true;
            return res;}

        @Override

        public void remove() {
            if (sepuedeeliminar) {
                listaanimales.remove(posicion-1);
                posicion--;
                sepuedeeliminar = false; }
        } // Cierre del método remove
    } // Cierre de la clase interna          


Código: [Seleccionar]
package animal;

import java.util.Iterator;
import java.util.Scanner;

/**
 *
 * @author itco1724
 */
public class TestPrograma {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        ListaDeAnimales cp = new ListaDeAnimales();
             Iterator<Animal> it;
              Animal e; // Este objeto lo usaremos para almacenar temporalmente objetos Animales
             cp.getListaDeAnimales().add(new Animal("pantera","Penelope",98.55,4,1));
             cp.getListaDeAnimales().add(new Animal(" loro amazónico","Juanito",3.67,2,2));
             cp.getListaDeAnimales().add(new Animal("perro grandanés","Artur",38.77,4,3));
             cp.getListaDeAnimales().add(new Animal("mono de tanzania","Monk",55.32 ,2,4));
             
             System.out.println("Los animales en la lista son:: "+cp.toString());
             //recorrer la lista
             it = cp.iterator();
             
             System.out.println ("¿Qué número desea eliminar?:");
             String entrada="";
                Scanner x = new Scanner (System.in); //Creación de un objeto Scanner
                entrada = x.nextLine ();
                //Convertir un string en entero
                int numEntero = Integer.parseInt(entrada);

            while (it.hasNext() ) {
                 e = it.next();
                 int enumEntero = 0;
           
                 if (e.getnumero()== numEntero) {it.remove(); } //  it.remove() elimina la selección de la colección
             }
             System.out.println("Lista después de recorrer/eliminar: " + cp.toString() );
       } 
 }

Saludos

4
Buenas noches,

Adjunto el ejercicio CU00915C del tutorial de programación Java avanzado.

Gracias

Código: [Seleccionar]
public class AvesEnZoo {
   
    public int numeroAves, numeroMachos, numeroHembras;
    public String tipoDeAve;

public AvesEnZoo( String tipoDeAve, int numeroAves, int numeroMachos, int numeroHembras ){
this.numeroAves = numeroAves; 
this.numeroMachos = numeroMachos;
this.numeroHembras = numeroHembras;
this.tipoDeAve = tipoDeAve;

    }   
public void setTipoDeAve(String tipoDeAve) {this.tipoDeAve = tipoDeAve;}
public void setnumeroAves(int numeroAves) {this.numeroAves = numeroAves;}
public void setnumeroMachos(int numeroMachos) {this.numeroMachos = numeroMachos;}
public void setnumeroHembras(int numeroHembras) {this.numeroHembras = numeroHembras;}
public String getTipoDeAve() {return tipoDeAve;}
public int getnumeroAves() {return numeroAves;}
public int getnumeroMachos() {return numeroMachos;}
public int getnumeroHembras() {return numeroHembras;}

@Override
    public String toString(){
        return tipoDeAve+"    "+numeroAves+"    "+numeroMachos+"    "+numeroHembras;
    }
}


Código: [Seleccionar]
import java.util.Iterator;
/**
 *
 * @author ITCO1724
 */
public class GruposDeAvesZoos implements Iterable<AvesEnZoo> {

    public AvesEnZoo[] gruposDeAves; // Atributo de la clase GrupoDeAvesZoos en base al cual se realiza la iteración.
   
    public GruposDeAvesZoos (AvesEnZoo [] p) { // Constructor de la clase, conjuntoAves y que este atributo es un array de Aves.
      gruposDeAves= p;   
    }


 
    public Iterator<AvesEnZoo> iterator() {
        Iterator it = new IteratorAvesEnZoo();
        return it;
    }
    protected class IteratorAvesEnZoo implements Iterator<AvesEnZoo> {

        protected int posicionarray;

        public IteratorAvesEnZoo() {
        posicionarray = 0;
    }
/*Un método hasNext() que devuelve un tipo booleano,comprobamos si nuestro índice posicionarray
 *ha llegado al final de la colección verificando si su valor ha alcanzado el número máximo de elementos *
 * posible
 */
    public boolean hasNext() {
            boolean result;
            if (posicionarray < gruposDeAves.length) {
                    result = true; }
            else {
                        result = false;
            }
            return result;
        }
   
/*Un método next() que devuelve el siguiente elemento dentro de la colección*/
       
    public AvesEnZoo next() {
            posicionarray++;
            return gruposDeAves[posicionarray-1];
        }
/*Este último no lo hemos implementado por simplicidad del ejemplo y
 * el código throw new UnsupportedOperationException("No soportado."); 
 * que lo implementa simplemente nos permite salir del paso, ya que no podemos dejar el
 * método sin sobreescribir al ser obligatorio.*/
   
        public void remove(){
            throw new UnsupportedOperationException("No soportado.");
        }
    }
}

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

/**
 *
 * @author ITCO1724
 */
public class Programa {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
 //objetos de la clase AvesEnZoo

        AvesEnZoo az1 = new AvesEnZoo("Aguilas",35,10,25);
        AvesEnZoo az2 = new AvesEnZoo("Buitres",100,55,45);
        AvesEnZoo az3 = new AvesEnZoo("Halcones",80,25,55);
   
        AvesEnZoo[] pp = {az1,az2,az3};       
       GruposDeAvesZoos cp = new GruposDeAvesZoos(pp);
       
       Iterator<AvesEnZoo> it1=cp.iterator();
        System.out.println("TIPO"+"\t"+"TOTAL"+"\t"+"MACHOS"+"\t"+"HEMBRAS"+"\n");
        while(it1.hasNext()){
            AvesEnZoo tmp=it1.next();           
            System.out.println(tmp.toString());
        }
    }   
}

5
Buenos días, ejercicio CU00918C del tutorial de programación Java avanzado.
Para su revisión, Gracias

Código: [Seleccionar]
package estudiante;
import java.util.ArrayList;
import java.util.Collections;
/**
 *
 * @author itco1724
 */
public class TestEstudiante {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
       ArrayList<Estudiante> listaEstudiante = new ArrayList<>();
       
       listaEstudiante.add(new Estudiante("Carlos",19,3));
       listaEstudiante.add(new Estudiante("Felipe",21,1));
       listaEstudiante.add(new Estudiante("Ana",18,4));
       listaEstudiante.add(new Estudiante("Rosa",15,1));
       listaEstudiante.add(new Estudiante("Jose",10,2));
       
       /*ista de Estudiantes ha sido ordenada usando la invocación Collections.sort pasando como parámetro la colección y el orden
         *utilizado en esta invocación es el orden natural definido en su clase*/
       Collections.sort(listaEstudiante);
       System.out.println("Estudiantes Ordenados por nombre: "+ listaEstudiante);// Ejemplo uso ordenación natural
       Collections.sort(listaEstudiante, new OrdenarEstudiantePorEdad());
       System.out.println("Estudiantes Ordenados por edad: "+listaEstudiante);
       Collections.sort(listaEstudiante, new OrdenarEstudiantePorCurso());
       System.out.println("Estudiantes Ordenados por curso: "+listaEstudiante);
      }
}

Código: [Seleccionar]
package estudiante;
/**
 *
 * @author itco1724
 */
public class Estudiante implements Comparable<Estudiante>{
//campos nombre, edad y curso.
    private String nombre;
    private int edad;
    private int curso;
   
    public Estudiante(String nombre, int edad, int curso) { this. nombre = nombre; this. edad = edad;this.curso = curso;}
   
    @Override
    public Estudiante clone() {
        Estudiante clon = new Estudiante(this.nombre, this.edad, this.curso);
        return clon;}
   
    @Override
    public String toString() {
         return " Nombre: "+ nombre+" Edad: "+edad+" Curso: " + curso + "\n";}
   
//Cuando se trate de realizar una ordenación “natural”, esta se hará por orden alfabético de nombres.
    @Override
     public int compareTo(Estudiante o) {
         return this.nombre.compareTo(o.nombre);}
     
    public String getNombre() { return nombre;  }
    public int getEdad() { return edad;}
    public int getCurso() { return curso;}   
} //Cierre de la clase

Código: [Seleccionar]
package estudiante;
import java.util.Comparator;

/**
 * orden total
 * @author itco1724
 */
    public class OrdenarEstudiantePorEdad implements Comparator<Estudiante> {
     @Override
     public int compare(Estudiante o1, Estudiante o2) {
     return o2.getEdad() - o1.getEdad(); // Devuelve un entero positivo si la edad de o1 es mayor que la de o2
     }
    }

Código: [Seleccionar]
package estudiante;
import java.util.Comparator;

/**
 *
 * @author itco1724
 */
    public class OrdenarEstudiantePorCurso implements Comparator<Estudiante> {
     @Override
     public int compare(Estudiante o1, Estudiante o2) {
     return o1.getCurso() - o2.getCurso(); // Devuelve un entero positivo si la altura de o1 es mayor que la de o2
     }
    }



6
Presento el desarrollo del ejercicio CU00914C del curso avanzado de Java

Código: [Seleccionar]
package ejercicio.cu00914c;

/**
 *
 * @author ITCO1724
 */
public class EJERCICIOCU00914C {

    /**
     * @param args the command line arguments
     */
    @SuppressWarnings("empty-statement")
    public static void main(String[] args) {
     
   //Constructor
   //a) Crear un StringBuilder con la cadena "Hola Caracola" y mostrarla por consola.
     StringBuilder s = new StringBuilder("hola Caracola");
     System.out.println(s);

   //Metodos
   //b)Mostrar por consola su capacidad y longitud.
     System.out.println ("Capacidad del StringBuilder: "+s.capacity()+". Longitud del StringBuilder: "+s.length()+".");
     
   /*c)Modificar la cadena para que pase a ser "Hay Caracolas"
     y mostrarla por consola.*/
     System.out.println (s.replace(s.indexOf("ola Caracola"), s.indexOf(" Caracola"),"ay").append("s"));
   /*d) Modificar la cadena para que pase a ser "Hay 5000 Caracolas"
      * *y mostrarla por consola. El número entero 5000 debe estar almacenado en un int inicialmente.*/
     int i = 5000; 
     s.append(5000);
   //System.out.println (s.delete(s.indexOf("Caracolas"), s.indexOf("5000"))); //Hay 5000
     s.delete(s.indexOf("Caracolas"), s.indexOf("5000"));
     s.append(" Caracolas");
     System.out.println(s);
     
   /*e) Partiendo de la cadena anterior y usando los métodos de StringBuilder
      *modificar la cadena para que pase a ser "Hay 5000 Caracolas en el mar" y mostrarla por consola.*/
     s.append(" en el Mar");
     System.out.println(s);
   /*f) Almacenar en un String los últimos 4 carácteres del StringBuilder resultante y mostrar ese String
     *por consola.*/
     StringBuilder miString = new StringBuilder(" Mar");
     System.out.println ("Capacidad del StringBuilder: "+miString.capacity()+". Longitud del StringBuilder: "+miString.length()+".");
   
     //h) Realizar el mismo ejercicio con la clase StringBuffer.
     //a1) Crear un StringBuffer con la cadena "Hola Caracola" y mostrarla por consola.
     StringBuffer w = new StringBuffer("hola Caracola");
     System.out.println(w);

   //Metodos
   //b1)Mostrar por consola su capacidad y longitud.
     System.out.println ("Capacidad del StringBuffer: "+w.capacity()+". Longitud del StringBuffer: "+w.length()+".");
     
   /*c1)Modificar la cadena para que pase a ser "Hay Caracolas"
     y mostrarla por consola.*/
     System.out.println (w.replace(w.indexOf("ola Caracola"), w.indexOf(" Caracola"),"ay").append("s"));
   /*d1) Modificar la cadena para que pase a ser "Hay 5000 Caracolas"
      * *y mostrarla por consola. El número entero 5000 debe estar almacenado en un int inicialmente.*/
     int u = 5000; 
     w.append(5000);
   //System.out.println (s.delete(s.indexOf("Caracolas"), s.indexOf("5000"))); //Hay 5000
     w.delete(w.indexOf("Caracolas"), w.indexOf("5000"));
     w.append(" Caracolas");
     System.out.println(w);
     
   /*e1) Partiendo de la cadena anterior y usando los métodos de StringBuilder
      *modificar la cadena para que pase a ser "Hay 5000 Caracolas en el mar" y mostrarla por consola.*/
     w.append(" en el Mar");
     System.out.println(w);
   /*f1) Almacenar en un String los últimos 4 carácteres del StringBuilder resultante y mostrar ese String
     *por consola.*/
     StringBuilder otroString = new StringBuilder(" Mar");
     System.out.println ("Capacidad del StringBuffer: "+otroString.capacity()+". Longitud del StringBuffer: "+otroString.length()+".");
     
    }
}

7
Aprender a programar desde cero / Re:CU00909C Ejercicios 1 y 2
« en: 20 de Mayo 2017, 00:39 »
 :)
Gracias por las indicaciones.
Creo que ya hallé la manera.
Código: [Seleccionar]
package loteria;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/**
 *
 * @author ITCO1724
 */
public class Loteria {

    public static void main(String[] args) {
    int a,b,c,d,e,f;
    int i,j,aux;
    int contadorAciertos = 0;
    int contadorFallos = 0;
    String empezar = "";
   
    int[] random = new int [6];
    int[] numeros = new int[6];
    //int[] randomclon = new int [6];

    Scanner sc = new Scanner(System.in);
    Random rnd = new Random();

 
//Generar seis números a y b entre 1 y 49
    a = rnd.nextInt(50); b = rnd.nextInt(50); c = rnd.nextInt(50); d = rnd.nextInt(50); e = rnd.nextInt(50); f = rnd.nextInt(50);
    random[0] = a; random[1] = b; random[2] = c; random[3] = d; random[4] = e; random[5] = f;
    /*System.out.println(a);  System.out.println(b); System.out.println(c); System.out.println(d);
    System.out.println(e);System.out.println(f);*/
    /*random[0]=rnd.nextInt(50);random[1]=rnd.nextInt(50);random[2]=rnd.nextInt(50);random[3]=rnd.nextInt(50);
    random[4]=rnd.nextInt(50);random[5]=rnd.nextInt(50);*/
   
    //Comparar los elementos del arreglo para no repetir numero
    for ( i= 0; i<=5; i++){
        for (j=i+1; j<=5; j++){
            if ( random[i] == random[j]){
                aux = random[i];
               
                random[i] = random[j+1];
                random[j] = aux;
            }
        }
    }
   
 //Mostrar por pantalla los números random generados   
    for ( i= 0; i<=5; i++){
               System.out.print(random[i]+ ", ");
           }
   
//Ordenar arreglo de menor a mayor
    for ( i= 0; i<=5; i++){
        for (j=i+1; j<=5; j++){
            if ( random[i]>random[j]){
                aux = random[i];
                random[i] = random[j];
                random[j] = aux;
            }
        }
    }

    //presentar arreglo ordenado de menor a mayor
    for ( i= 0; i<=5; i++){
        System.out.print(random[i]);}
do{
    System.out.println();

    System.out.println (" Vamos a jugar a la Lotería primitiva ");
    System.out.print("Introduce tus seis numeros de apuesta entre el 1 y 49 : ");
    System.out.print("No puedes repetir numeros: ");       

    for(i = 0; i <= 5; i++) {
System.out.print("\n"+ "Elige el numero "+ (i+1) + ":" );
numeros[i] = sc.nextInt();}
   
        //Ordenar arreglo de menor a mayor los numeros elegidos
    for ( i= 0; i<=5; i++){
        for (j=i+1; j<=5; j++){
            if ( numeros[i]>numeros[j]){
                aux = numeros[i];
                numeros[i] = numeros[j];
                numeros[j] = aux;
            }
        }
    }
   
//Mostrar por pantalla los números elegidos
    for(i = 0; i <= 5; i++) {   
        System.out.print(numeros[i]);}
        System.out.print("\n"+"La combinación Ganadora es :");
    for(i = 0; i <= 5; i++) {   
        //System.out.print("La combinación Ganadora es :" );
        System.out.print(random[i]);}
//Comparar ambos arreglos
   
    System.out.println (("\n"+"¿Tienen el mismo contenido (relación de igualdad ambas combinaciones)? ... " + Arrays.equals(random, numeros) ) );
    if (Arrays.equals(random, numeros)==true){
        System.out.println("EN HORA BUENA !!!HAS HACERTADO!!");}
    else {
            System.out.println(" !!!No has acertado!!");}
//Comparación de arreglos
           for (i=0; i<6; i++){
               System.out.print ("\n"+"random[" + i +"]= " + random[i] +"; ");
               System.out.print ("\n"+"numeros[" + i +"]= " + numeros[i]+"; "); }
               
            //Arrays.equals(random, numeros);
           if (random[0] != numeros[0] ){
                contadorFallos++;
                System.out.println("\n"+"Has perdido : " + (contadorFallos)+ "Cifra" );}
           else {
                 contadorAciertos++;
                 System.out.println("\n"+"Has acertado : " + (contadorAciertos)+ "Cifra" );}
               
           if (random[1] != numeros[1] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
           else{
                contadorAciertos++;
                System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
                     
                   
           if (random[2] != numeros[2] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
            else {
                  contadorAciertos++;
                  System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
                                         
              if (random[3] != numeros[3] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
             else{
                  contadorAciertos++;
                  System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
                         
           
              if (random[4] != numeros[4] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
                else {
                       contadorAciertos++;
                        System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
             
           if (random[5] != numeros[5] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
            else{
                       contadorAciertos++;
                        System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
               
              if (random[6] != numeros[6] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
                else {
                       contadorAciertos++;
                        System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
             
             
    System.out.println("Quieres probar otra vez ? (s/n) : ");
    empezar = sc.nextLine();                           
            }
   
    while (empezar.equalsIgnoreCase("s"));
    System.out.println("Adios");
    }
   
    }

8
Buenas tardes, ejercicio CU00912C del curso avanzado de Java.

Para su revisión, gracias

Código: [Seleccionar]
package policia;

/**
 *
 * @author ITCO1724
 */
public class TestPrograma {
   
     public static void main(String arg[]) {
        Policia p = new Policia("000000000000", "000000000000","000000000000" , "000000000000");
        Policia p2 = p.clone();
        Policia p3 = p2.clone();
        Policia p4 = p3.clone();
        Policia p5 = p4.clone();

         // hemos clonado en el objeto p2 los datos del perro p , por tanto p2
        // tiene como nombre C  y una edad de 10 y sus vacunas Rabia
       

        p.name="000000000000";
        p.Propietario= "000000000000";
        p.Barrio="000000000000";
        p.Vacunas = "000000000000";
        p2.name="111111111111";
        p2.Propietario= "000000000000";
        p2.Barrio="000000000000";
        p2.Vacunas = "000000000000";
        p3.name="000000000000";
        p3.Propietario= "111111111111";
        p3.Barrio="000000000000";
        p3.Vacunas = "000000000000";
        p4.name="000000000000";
        p4.Propietario= "000000000000";
        p4.Barrio="111111111111";
        p4.Vacunas = "000000000000";
        p5.name="000000000000";
        p5.Propietario= "000000000000";
        p5.Barrio="000000000000";
        p5.Vacunas = "111111111111";
       
       
       
        System.out.println("Datos Perro p:"+ p.name+ p.Propietario + p.Barrio + p.Vacunas );
        System.out.println("Datos Perro p2 clon:"+ p2.name+ p2.Propietario+ p.Barrio + p2.Vacunas );
        System.out.println("Datos Perro p3 clon:"+ p3.name+ p3.Propietario+ p3.Barrio + p3.Vacunas );
        System.out.println("Datos Perro p4 clon:"+ p4.name+ p4.Propietario+ p4.Barrio + p4.Vacunas );
        System.out.println("Datos Perro p4 clon:"+ p5.name+ p5.Propietario+ p5.Barrio + p5.Vacunas );
       }
 }


Código: [Seleccionar]
package policia;

public class Policia implements Cloneable {

public String name;
public String Propietario;
public String Barrio;
public String Vacunas;



public Policia (String name, String Propietario, String Barrio, String Vacunas) {
    super();
    this.name = name;
    this.Propietario = Propietario;
    this.Barrio = Barrio;
    this.Vacunas = Vacunas;
        }

 
     public Policia clone() {
      Policia clon = new Policia(this.name, this.Propietario, this.Barrio, this.Vacunas);
      return clon;}


        public String getName() {return name;}
        public String getPropietario() {return Propietario;}
        public String getBarrio() {return Barrio;}
        public String getVacunas() {return Vacunas;}


        public void setName(String name) {this.name = name;}
        public void setPropietario(String Propietario) {this.Propietario = Propietario;}
        public void setBarrio(String Barrio) {this.Barrio = Barrio;}
        public void setVacunas(String Vacunas) {this.Vacunas = Vacunas;}

}

9
Buenas tardes,
 :-[
Dejo el ejercicio uno y dos de la entrega CU00909C del tutorial de programación avanzada en Java, sólo que en el segundo, sinceramente llevo varios días y a un no logro hallar la manera de como hacer que el random no genere números repetidos. Agradecería algo de apoyo.

EJERCICIO Nº 1(CU00909C)
Código: [Seleccionar]
package random_3;
import java.util.Random;
import java.util.Scanner;

/**
 *
 * @author ITCO1724
 */
public class Random_3 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       int a = 0, b = 0;
   String apuesta = "";
   String empezar = "";
   int contadorAciertos = 0;
   int contadorFallos = 0;
   
   
   Scanner sc = new Scanner(System.in);
 

do{    Random rnd = new Random();
   
   
//Generar dos números a y b entre cero y 100
        a = rnd.nextInt(101);
        b = rnd.nextInt(101);
//Mostrar por pantalla los números random generados
        /*System.out.println(a);       
        System.out.println(b);*/

        System.out.println (" Vamos a adivinar quien es el numero más alto A O B: ");
        System.out.print("Introduce tu apuesta A/B : ");
        apuesta = sc.nextLine();
       
   
    if (apuesta.equalsIgnoreCase("a") && (a>b) || apuesta.equalsIgnoreCase("b") && (a<b)) {
        contadorAciertos++;
        System.out.println("A saca un " + a + " y B saca un " + b + "   HAS GANADO  :!!!");
        System.out.println("Llevas " + contadorAciertos + " partidas ganadas y " + contadorFallos + " partidas perdidas");}
  else {
        contadorFallos++;
        System.out.println("A saca un " + a + " y B saca un " + b + "   HAS PERDIDO!!!  :");
        System.out.println("Llevas " + contadorAciertos + " partidas ganadas y " + contadorFallos + " partidas perdidas");}
        System.out.println("Quieres probar otra vez ? (s/n) : ");
        empezar = sc.nextLine();
      }
while (empezar.equalsIgnoreCase("s"));
System.out.println("Adios");

    }
}

EJERCICIO Nº 2(CU00909C)
Código: [Seleccionar]
package loteria;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/**
 *
 * @author ITCO1724
 */
public class Loteria {

    public static void main(String[] args) {
    int a,b,c,d,e,f;
    int i,j,aux;
    int contadorAciertos = 0;
    int contadorFallos = 0;
    String empezar = "";
   
    int[] random = new int [6];
    int[] numeros = new int[6];

    Scanner sc = new Scanner(System.in);
    Random rnd = new Random();

 
//Generar seis números a y b entre 1 y 49
    a = rnd.nextInt(50); b = rnd.nextInt(50); c = rnd.nextInt(50); d = rnd.nextInt(50); e = rnd.nextInt(50); f = rnd.nextInt(50);
    random[0] = a; random[1] = b; random[2] = c; random[3] = d; random[4] = e; random[5] = f;
    /*System.out.println(a);  System.out.println(b); System.out.println(c); System.out.println(d);
    System.out.println(e);System.out.println(f);*/
    /*random[0]=rnd.nextInt(50);random[1]=rnd.nextInt(50);random[2]=rnd.nextInt(50);random[3]=rnd.nextInt(50);
    random[4]=rnd.nextInt(50);random[5]=rnd.nextInt(50);*/
   
   


 
 
 
   
 //Mostrar por pantalla los números random generados   
    for ( i= 0; i<=5; i++){
               System.out.print(random[i]+ ", ");
           }
   
//Ordenar arreglo de menor a mayor
    for ( i= 0; i<=5; i++){
        for (j=i+1; j<=5; j++){
            if ( random[i]>random[j]){
                aux = random[i];
                random[i] = random[j];
                random[j] = aux;
            }
        }
    }

    //presentar arreglo ordenado de menor a mayor
    for ( i= 0; i<=5; i++){
        System.out.print(random[i]);}
do{
    System.out.println();

    System.out.println (" Vamos a jugar a la Lotería primitiva ");
    System.out.print("Introduce tus seis numeros de apuesta entre el 1 y 49 : ");
    System.out.print("No puedes repetir numeros: ");       

    for(i = 0; i <= 5; i++) {
System.out.print("\n"+ "Elige el numero "+ (i+1) + ":" );
numeros[i] = sc.nextInt();}
   
        //Ordenar arreglo de menor a mayor los numeros elegidos
    for ( i= 0; i<=5; i++){
        for (j=i+1; j<=5; j++){
            if ( numeros[i]>numeros[j]){
                aux = numeros[i];
                numeros[i] = numeros[j];
                numeros[j] = aux;
            }
        }
    }
   
//Mostrar por pantalla los números elegidos
    for(i = 0; i <= 5; i++) {   
        System.out.print(numeros[i]);}
        System.out.print("\n"+"La combinación Ganadora es :");
    for(i = 0; i <= 5; i++) {   
        //System.out.print("La combinación Ganadora es :" );
        System.out.print(random[i]);}
//Comparar ambos arreglos
   
    System.out.println (("\n"+"¿Tienen el mismo contenido (relación de igualdad ambas combinaciones)? ... " + Arrays.equals(random, numeros) ) );
    if (Arrays.equals(random, numeros)==true){
        System.out.println("EN HORA BUENA !!!HAS HACERTADO!!");}
    else {
            System.out.println(" !!!No has acertado!!");}
//Comparación de arreglos
           for (i=0; i<6; i++){
               System.out.print ("\n"+"random[" + i +"]= " + random[i] +"; ");
               System.out.print ("\n"+"numeros[" + i +"]= " + numeros[i]+"; "); }
               
            //Arrays.equals(random, numeros);
           if (random[0] != numeros[0] ){
                contadorFallos++;
                System.out.println("\n"+"Has perdido : " + (contadorFallos)+ "Cifra" );}
           else {
                 contadorAciertos++;
                 System.out.println("\n"+"Has acertado : " + (contadorAciertos)+ "Cifra" );}
               
           if (random[1] != numeros[1] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
           else{
                contadorAciertos++;
                System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
                     
                   
           if (random[2] != numeros[2] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
            else {
                  contadorAciertos++;
                  System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
                                         
              if (random[3] != numeros[3] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
             else{
                  contadorAciertos++;
                  System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
                         
           
              if (random[4] != numeros[4] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
                else {
                       contadorAciertos++;
                        System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
             
           if (random[5] != numeros[5] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
            else{
                       contadorAciertos++;
                        System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
               
              if (random[6] != numeros[6] ){
                contadorFallos++;
                System.out.println("Has perdido : " + (contadorFallos)+ "Cifras" );}
                else {
                       contadorAciertos++;
                        System.out.println("Has acertado : " + (contadorAciertos)+ "Cifras" );}
             
             
    System.out.println("Quieres probar otra vez ? (s/n) : ");
    empezar = sc.nextLine();                           
            }
   
    while (empezar.equalsIgnoreCase("s"));
    System.out.println("Adios");
    }
   
    }

Saludos
 :-[ :-[ :-[ :-[

10
Buenos días, ejercicio CU00908C del tutorial de programación avanzada con Java.
Por favor para su revisión. Aunque recuerdo que nos solicitan crear clases y métodos distintos al main para dar solución a los ejercicios, esta es una manera diferente de resolverlo.
Gracias

Código: [Seleccionar]
package random_1;

import java.util.Random;
import java.util.Scanner;
/**
 *
 * @author ITCO1724
 */
public class Random_1 {

    /**
     * @param args the command line arguments
     */
public static void main(String[] args) {
       //Creación de un objeto Scanner
    Scanner sc = new Scanner(System.in);
         
    int numInicial, numFinal,numIntentos;
    int contadorAciertos = 0;
    int contadorFallos = 0;
    String[] solucion = new String[3];
    String seguir="s";
   
while (seguir.equalsIgnoreCase("s")) {
           
            System.out.println ("¿Quieres adivinar el numero? (s/n)");           
            seguir = sc.nextLine();
    if (seguir.equalsIgnoreCase("s")) {
   
   
   
   
    System.out.print("Introduce el numero inicial: ");
    numInicial = sc.nextInt();
    System.out.print("Introduce el numero final: ");
    numFinal = sc.nextInt();     
    int rango = (numFinal- numInicial) ;
    System.out.println("El rango del arreglo es de :" + rango);
    System.out.print("Introduce el numero de intentos : ");
    numIntentos = sc.nextInt();
    System.out.println("El numero de intentos :" + numIntentos);
       
    Random rnd = new Random();
       
       
    for(int i = 1; i<=numIntentos; i++){      //Generar 2 numeros enteros entre 40 y 60 ambos incluidos
           
     int numeroAleatorio;
                       
        numeroAleatorio = (int) (rnd.nextDouble() * rango + numInicial);

// Imprimir numeros aleatorios
        System.out.println( "El #aleatorio :" + numeroAleatorio);
        System.out.print("QUE NUMERO ESTOY PENSANDO? : ");   
        int tmpPensando =sc.nextInt();
        solucion[i] = Integer.toString(numeroAleatorio);    //Pasar a string la variable int tmpPensando
        System.out.println("El numero que estoy pensando :" + numeroAleatorio);
       
           if (tmpPensando >= 0 && tmpPensando != numeroAleatorio){
             System.out.println(" No has acertado!! :");
             contadorFallos = contadorFallos+1;}
           else  {
             System.out.println(" Has acertado!! :");
             contadorAciertos = contadorAciertos+1;}       

             if(tmpPensando >=0 && numeroAleatorio >= 0 ){         
                System.out.println("Has acertado   "  + contadorAciertos + "veces y has fallado   "+ contadorFallos + "veces. Eran solución:" + solucion[i]);}
                else {System.out.println ("Los valores no son válidos");}
            } 
        System.out.println ("¡Hasta la próxima!");break;}
        }
    } 
}
   

11
Buenos días, adjunto el código del ejercicio CU00907C del tutorial de programador Java avanzado  para su revisión.

Gracias

Crea un programa para el cálculo del importe final a partir del importe inicial y un porcentaje de impuestos. El importe inicial y el porcentaje de impuestos deben solicitarse al usuario. El programa debe mostrar el resultado ateniéndose a estas reglas: debe mostrarse el impuesto como resultado de calcular el importe inicial por el porcentaje dividido entre 100, con precisión de dos decimales y redondeo al entero más próximo o en caso de equidistancia, redondeo al entero mayor. Debe mostrarse el importe final como resultado de sumar el importe inicial con el impuesto, por tanto tendrá precisión de dos decimales.

Ejemplo de resultados a obtener:

Por favor introduzca el importe inicial: 0.70

Por favor introduzca el porcentaje de impuestos: 5

El impuesto a pagar es: 0.04

El importe final es: 0.74
Código: [Seleccionar]
import java.util.Scanner;
import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 *
 * @author ITCO1724
 */
public class CalculaImpuesto {

    public static void main(String[] args) {
       
        Scanner sc = new Scanner(System.in);
       
       
       do {
       
       System.out.print("Introduzca el importe inicial: ");
       BigDecimal importe = BigDecimal.valueOf(Double.valueOf(sc.nextLine())); 
       System.out.print("Por favor introduzca el porcentaje de impuestos: ");
       BigDecimal impuesto = BigDecimal.valueOf(Double.valueOf(sc.nextLine()));

       BigDecimal CalculaImpuesto = importe.multiply (impuesto).divide(BigDecimal.valueOf(100.0));
       CalculaImpuesto = CalculaImpuesto.setScale(2,RoundingMode.HALF_UP);  //Establece dos decimales y precisión hacia abajo
       
       System.out.print("El impuesto a pagar es : " + CalculaImpuesto);
       System.out.println();
       System.out.println();
       System.out.print("El importe final es : " + importe.add(CalculaImpuesto) );

       String entrada = sc.nextLine();
       System.out.print("¿Otro valor (s/n)?: " + entrada);
       }
       
       while (!"n".equals(sc.nextLine()));
       System.out.println();
    } 
}

12
Buenas tardes, este código para sus observaciones. Ejercicio CU00906C del tutorial de programación Java avanzado.
Gracias

Supón que un partido de fútbol tiene una duración de 90 minutos. El minuto 1 se considera que abarca desde los 0 segundos hasta los 59 segundos. El minuto 2 abarca desde los 60 segundos hasta los 119 segundos. Así sucesivamente hasta el último minuto, que es el minuto 90 y abarca desde los 5340 segundos hasta los 5400 segundos. Crea un programa que pida al usuario el número de segundos transcurridos y mediante el uso de alguna función de redondeo (floor, ceil ó round) de la clase Math muestre el minuto en que nos encontramos. El programa debe pedir valores de segundos hasta que el usuario decida terminar.

Ejemplo de ejecución.

Introduzca valor de segundos: 32

El minuto es el 1

¿Otro valor (s/n)? s

Introduzca valor de segundos: 2595

El minuto es el 43

¿Otro valor (s/n)? n
Código: [Seleccionar]
import java.util.Scanner;
/**
 *
 * @author ITCO1724
 */
public class Redondeo {

    public static void main(String[] args) {
     
       Scanner sc = new Scanner(System.in);
       
       do {
       
       System.out.print("Introduzca valor de segundos: ");
       double segundos = Integer.parseInt(sc.nextLine());
       
       double getCalculaminutos = Math.round((segundos/60));
       System.out.print("El minuto es el : " + getCalculaminutos);
       String entrada = sc.nextLine();
       System.out.print("¿Otro valor (s/n)?: " + entrada);
       
       }
       
       while (!"n".equals(sc.nextLine()));
       System.out.println();
 
    }
   
}

13
Respuesta al ejercicio CU00905C del tutorial Java avanzado.

Crea un programa que pida por pantalla cuatro países y a continuación tres ciudades de cada uno de estos países. Los nombres de ciudades deben almacenarse en un array multidimensional cuyo primer índice sea el número asignado a cada país y el segundo índice el número asignado a cada ciudad.

Ejemplo de resultados que debe mostrar el programa:

País: Argentina                 Ciudades:        Buenos Aires       Cordoba         La Plata

País: España                     Ciudades:         Madrid                 Lugo              Sevilla

País: Francia                     Ciudades:         Paris                    Niza                Lyon

País: Italia                        Ciudades:          Roma                  Napoles         Sicilia
Desarrollo:
Código: [Seleccionar]
/**
 *
 * @author ITCO1724
 */
public class EJERCICIOCU00905C {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        //  La declaración de la matriz
         String [][] pais = new String[4][3];
         
         //asignar contenidos
   
        pais[0][0] = "BuenosAires";pais[0][1] = "Cordoba";pais[0][2] = "LaPlata";
        pais[1][0] = "Madrid";pais[1][1] = "Lugo";pais[1][2] = "Sevilla";
        pais[2][0] = "Paris";pais[2][1] = "Niza";pais[2][2] = "Lion";
        pais[3][0] = "Roma";pais[3][1] = "Napoles";pais[3][2] = "Sicilia";
       
        System.out.println("Pais: Argentina  "+" "+"Ciudades: "+ pais[0][0]+" " + pais [0][1]+" " +pais[0][2] );
        System.out.println("Pais: España "+" "+"Ciudades: "+ pais[1][0]+" " + pais [1][1]+" " +pais[1][2] );
        System.out.println("Pais: Francia "+" "+"Ciudades: "+ pais[2][0]+" " + pais [2][1]+" " +pais[2][2] );
        System.out.println("Pais: Italia"+" "+"Ciudades: "+ pais[3][0]+" " + pais [3][1]+" " +pais[2][2] );
    } //fin del main
   
}//fin de la clase

 :)Saludos

14
Respuesta al ejercicio CU00904C del tutorial avanzado de Java.

  :D
En España cada persona está identificada con un Documento Nacional de Identidad (DNI) en el que figura un número y una letra, por ejemplo 56999545W

La letra que sigue al número se calcula siguiendo la metodología que vamos a indicar. Crea un programa que calcule la letra de un DNI a partir del número de DNI que introduzca el usuario. Es decir, se debe pedir el DNI sin la letra por teclado y el programa nos devolverá el DNI completo (con la letra).

Para calcular la letra, se debe tomar el resto de dividir nuestro número de DNI entre 23. El resultado debe estar por tanto entre 0 y 22.

Crea un método obtenerLetra(int numeroDNI) donde según el resultado de la anterior fórmula busque en un array de caracteres la posición que corresponda a la letra. Esta es la tabla de caracteres:

Posición     0   1   2   3   4   5    6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22

Letra           T   R  W  A   G  M   Y   F   P   D   X    B    N    J    Z     S     Q   V    H    L    C    K    E

Por ejemplo, si introducimos el  DNI 20267079, el resto de dividirlo por 23 sería 8, luego la letra sería la P, que es la que ocupa esa posicion  en la matriz de caracteres.
Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Scanner;

/**
 *
 * @author ITCO1724
 */
public class EJERCICIOCU00904C {
   
   


    public static void main(String[] args) {
       //Declaramos un ArrayList que contiene objetos String letras
      ArrayList <String> letras = new ArrayList<String> ();
       
       letras.add ("T");letras.add ("R");letras.add ("W");letras.add ("A");letras.add ("G");letras.add ("M");letras.add ("Y");letras.add ("F");
       letras.add ("P");letras.add ("D");letras.add ("X");letras.add ("B");letras.add ("N");letras.add ("J");letras.add ("Z");letras.add ("S");
       letras.add ("Q");letras.add ("V");letras.add ("H");letras.add ("L");letras.add ("C");letras.add ("K");letras.add ("E");
       
       int i = 0;
        System.out.println ("Las letras de la Matriz de caracteres son: ");
        for (String matriz : letras) {  System.out.println ((i) + ".- " + matriz);
        i++;  }
 
       Scanner entrada = new Scanner(System.in);
       System.out.print("Introduzca el número de DNI: ");
       int numDNI = Integer.parseInt(entrada.nextLine());

       System.out.println();
       //System.out.println("El documento de Idenficación DNI es " +  " " + numDNI );
       int resto;
     
       resto = Math.round(numDNI % 23);
       //resto nos da el indice del arreglo letras que queremos, obtenemos el contenido con get(resto)
       System.out.println("El numero de su Documento Nacional de Identidad (DNI) es: " + numDNI + "" + letras.get(resto));
 
    }
   
}

Saludos

15
Saludos, vamos a continuar con esta parte del curso.
Crea un array numérico con 5 elementos. Los números de cada elemento deben ser valores pedidos por teclado al usuario. Muestra por consola el índice y el valor al que corresponde. Debes utiliza bucles tanto para pedir los valores de los elementos del array como para mostrar su contenido por pantalla.

Ejemplo: Introducimos los valores 2, 4, 5, 8 y 10 .Lo que se tiene que mostrar por consola  sería:

En el indice 0 esta el valor 2
En el indice 1 esta el valor 4
En el indice 2 esta el valor 5
En el indice 3 esta el valor 8
En el indice 4 esta el valor 10
Código: [Seleccionar]
import java.util.Scanner;

/**
 *
 * @author ITCO1724
 */
public class TestLista {

    /**
     * @Crea un arreglo de “n” elementos pidiendo por teclado cada elemento
      * al final da el arreglo
     */
    public static void main (String [ ] args) {

           //System.out.println ("Empezamos el programa");
           Scanner x = new Scanner (System.in); //Creación de un objeto Scanner
           int[] array = new int[5];
           int i, limiteDelArreglo;
           System.out.println("Ingrese el limite del arreglo");
           limiteDelArreglo = x.nextInt();
           
           System.out.println ("Digite los elementos del arreglo");
           for ( i= 0; i<limiteDelArreglo; i++){
               
               array[i]= x.nextInt();
               System.out.println ("El Indice ["+ (i) +"]="+ " esta en el valor "+array[i]);
           }
           for ( i= 0; i<limiteDelArreglo; i++){
               System.out.print(array[i]+ ", ");
           }
    }
} //Cierre de la clase

Parte dos del Ejercicio:
Crea un programa en el que se pida por consola el nombre de 2 alumnos y la nota de cada uno de ellos como valor numérico. El resultado que debe mostrarse es el nombre de cada alumno, su nota y su calificacion como texto (Sobresaliente, Notable, Bien o Suspenso).

Para ello crea un array numérico y otro de String (ambos unidimensionales). En el array numérico se insertarán las calificaciones facilitadas por el usuario entre 0 y 10 (debemos controlar que inserte una nota valida), pudiendo ser decimal.

En el array de Strings se insertarán los nombres de los alumnos.

Crea también un array de String donde insertaremos el resultado de la nota con palabras admitiéndose estos valores: Sobresaliente, Notable, Bien o Suspenso.

El programa debe comprobar la nota de cada alumno teniendo en cuenta esta equivalencia:

Si la nota está entre 0 y 4,99 será un Suspenso.
Si la nota está entre 5 y 6,99 será un Bien.
Si la nota está entre 7 y 8,99 será un Notable.
Si la nota está entre 9 y 10 será un Sobresaliente.

 
Muestra por pantalla, el alumno su nota y su resultado en palabras utilizando bucles. Crea los métodos que creas convenientes.
Código: [Seleccionar]
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Scanner;

/**
 *
 * @author ITCO1724
 */
public class AlumnosNotas {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            System.out.print("Digite el número de alumnos: ");
            int numAlumnos = Integer.parseInt(sc.nextLine());
           
            int i;
//Se crean los arreglos vacios
            String[] Nombre = new String[numAlumnos];
            double[] Nota = new double[numAlumnos];
            String[] Calificacion = new String[numAlumnos];
         
//crear un ArrayList  con la lista de los nombres de los alumnos
            LinkedList<String> alumnos = new LinkedList<String>();
            alumnos.add ("Luis");
            alumnos.add ("Pedro");
           
//Ejemplo nuevo constructor
//Realmente se crea un ArrayList de string
            ArrayList <String> arregloString = new ArrayList <String> (alumnos);
           
//Se leen las notas de cada alumno.
           
            System.out.println ("Contenido del ArrayList " + arregloString);
            System.out.println("Introduzca nombres y notas .");
           
            for(i=0;i<numAlumnos;i++){
               
               
                System.out.println("Alumno " + (i+1) + ": ");
                Nombre[i] = sc.nextLine();
                System.out.print("Nota " + (i+1) + ": ");
               
                do{
                    Nota[i] = Double.parseDouble(sc.nextLine());
                    if(Nota[i] >= 0 && Nota[i] < 5){Calificacion[i] = "Suspenso";}
                    else if(Nota[i] >= 5 && Nota[i] < 7) {Calificacion[i] = "Bien";}
                    else if(Nota[i] >= 7 && Nota[i] < 9) {Calificacion[i] = "Notable";}
                    else if(Nota[i] >= 9 && Nota[i] <= 10) {Calificacion[i] = "Sobresaliente";}
                    else {System.out.println("ERROR EN LA NOTA" + "\nDigite nuevamente la nota") ;}
                   
                }
                while(Nota[i] < 0 || Nota[i] > 10);
                System.out.println("La nota de " +  Nombre[i] +  " es " + Nota[i] + ", " + Calificacion[i]);
            }   
        }
     }
 }

Gracias

16
He aquí una solución al ejercicio CU00695B del tutorial de programador Java desde cero para su revisión. Gracias

Declara una clase abstracta Legislador que herede de la clase Persona2, con un atributo provinciaQueRepresenta (tipo String) y otros atributos. Declara un método abstracto getCamaraEnQueTrabaja.

Crea dos clases concretas que hereden de Legislador: la clase Diputado y la clase Senador que sobreescriban los métodos abstractos necesarios. Crea una lista de legisladores y muestra por pantalla la cámara en que trabajan haciendo uso del polimorfismo
Código: [Seleccionar]
package persona2;

/**
 *
 * @author ITCO1724
 */
public class Persona2 { //Código de la clase Persona1
private String nombre;
private String apellidos;
private int edad;

public Persona2() {
    nombre = "";
    apellidos = "";
    edad = 0;
}

public Persona2 (String nombre, String apellidos, int edad) {
    this.nombre = nombre;
    this.apellidos = apellidos;
    this.edad = edad;
}
public String getNombre() { return nombre;  }
public String getApellidos() { return apellidos;  }
public int getEdad() { return edad;  }
public String toString() {   
   
    Integer datoEdad = edad; // transformamos edad en un Integer para poder aplicarle el método toString()
    return "-Nombre: ".concat(nombre).concat(" -Apellidos: ").concat(apellidos).concat(" -Edad: ").concat(datoEdad.toString() ); }

} //Cierre de la clase

Código: [Seleccionar]
package persona2;

/**
 *
 * @author ITCO1724
 */
public abstract class Legislador extends Persona2 {

    private String IdLegislador;
    private String provinciaQueRepresenta;
    String CamaraEnQueTrabaja;
   
   
// Constructores

    public Legislador () {
        super();         
        IdLegislador = "Unknown";   }
   
    public Legislador (String nombre, String apellidos, int edad, String id) {
        super(nombre, apellidos, edad);   
        IdLegislador = id;
    }                       //Cierre del constructor
   
    // Métodos
    public void setIdLegislador (String IdLegislador) { this.IdLegislador = IdLegislador;   }
    public String getIdLegislador () { return IdLegislador;   }
    public void setprovinciaQueRepresenta (String provinciaQueRepresenta) { this.provinciaQueRepresenta = provinciaQueRepresenta;   }
    public String getprovinciaQueRepresenta () { return provinciaQueRepresenta;   }
   
    //public void setCamaraEnQueTrabaja (String CamaraEnQueTrabaja) { this.CamaraEnQueTrabaja = CamaraEnQueTrabaja;   }
    public abstract String getCamaraEnQueTrabaja (); //Método abstracto de la clase padre obligatorio especializar en las clases hijas Senador y Diputado
   
   
public void mostrarDatos() {

        System.out.println ("Legislador de nombre: " + getNombre() + " " +

        getApellidos() + " con No. de identificación: " + getIdLegislador() );   }

    public String toString () { return super.toString().concat(" -IdLegislador: ").concat(IdLegislador);
       
   
    }

    abstract public float importeNomina ();  // Método abstracto
} //Cierre de la clase


Código: [Seleccionar]
package persona2;

/**
 *
 * @author ITCO1724
 */
import java.util.Calendar;

public class Diputado extends Legislador {

    // Campo de la clase ejemplo aprenderaprogramar.com

    private Calendar fechaNombramiento;

// Constructores

    public Diputado (Calendar fechaInicio) {

        super();      fechaNombramiento = fechaInicio; }

    public Diputado (String nombre, String apellidos, int edad, String id, Calendar fechaInicio) {

                super(nombre, apellidos, edad, id);

        fechaNombramiento = fechaInicio; }

    public Calendar getFechaNombramiento () { return fechaNombramiento; } //Método

    public String toString () { // Sobreescritura del método

        return super.toString().concat (" Fecha nombramiento: ").concat (fechaNombramiento.getTime().toString()); }

    public float importeNomina () { return 120f * 10.5f ; } //Método abstracto sobreescrito en esta clase
   
    public String getCamaraEnQueTrabaja (){ return CamaraEnQueTrabaja;} //Método abstracto especializado de la clase hija senador
} //Cierre de la clase

Código: [Seleccionar]
package persona2;
import java.util.Calendar;
/**
 *
 * @author ITCO1724
 */
public class Senador extends Legislador {
   
    private Calendar fechaNombramiento;
    private Calendar fechaInicio;

    public Senador (Calendar fechaInicio) {

        super();      fechaNombramiento = fechaInicio; }
   
    public Senador(String nombre, String apellidos, int edad, String id, Calendar fechaInicio) {

     super(nombre, apellidos, edad, id);
     fechaNombramiento = fechaInicio;
    }

    public float importeNomina () { return 150f * 12.2f; }  //Método abstracto sobreescrito en esta clase
   
   
     public String getCamaraEnQueTrabaja (){ return CamaraEnQueTrabaja;} //Método abstracto especializado de la clase hija senador
   
   
} //Cierre de la clase


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

public class ListaLegisladores {

    private ArrayList <Legislador> listaLegisladores; //Campo de la clase 

    public ListaLegisladores () {  listaLegisladores = new ArrayList <Legislador> ();  } //Constructor
    public void addLegislador (Legislador legislador) {  listaLegisladores.add(legislador);  } //Método
    public void imprimirLista() {  //Método

        String tmpStr1 = ""; //String temporal que usamos como auxiliar
        String tmpStr2 = "";
        String tmpStr3 = "";

        System.out.println ("PROCEDEMOS A MOSTRAR LA LISTA DE CONGRESISTAS ADSCRITOS\n");

        for (Legislador tmp: listaLegisladores) {         
            System.out.println (tmp.toString () );

            if (tmp instanceof Diputado) { tmpStr1 = "Diputado";tmpStr2 = "Camara de Representantes";tmpStr3 = "ANTIOQUIA";} else { tmpStr1 = "Diputado"; tmpStr2 = "Senado de la Republica";tmpStr3 = "VALLE"; }

                System.out.println("-CARGO DESEMPEÑADO:"+tmpStr1+" -SALARIO DEVENGADO : "+(tmp.importeNomina())+"-SEDE DE TRABAJO :"+tmpStr2 +"    Representante de :"+tmpStr3+ "\n");}

    } //Cierre método imprimirLista

    public float importeTotalNominaLegislador() {

        float importeTotal = 0f; //Variable temporal que usamos como auxiliar

        Iterator<Legislador> it = listaLegisladores.iterator();

        while (it.hasNext() ) { importeTotal = importeTotal + it.next().importeNomina(); }

        return importeTotal;         

    } //Cierre del método importeTotal
} //Cierre de la clase

Código: [Seleccionar]
package persona2;

import java.util.Calendar;

/**
 *
 * @author ITCO1724
 */
public class TestAbstract {

    public static void main (String [ ] Args) {

        Calendar fecha1 = Calendar.getInstance();
        fecha1.set(2017,12,20); //Los meses van de 0 a 11, luego 10 representa noviembre
       
        //Lista de Legisladores
        Diputado pi1 = new Diputado("Julio", "Medina Florez", 45, "70080403", fecha1);
        Diputado pi2 = new Diputado("Manuel", "Murillo Toro", 87, "72332634", fecha1);
        Diputado pi3 = new Diputado("Abigail", "Ríos Mesa", 76, "63897521", fecha1);
        Senador pt1 = new Senador ("Andres", "Rios Gutierrez", 23, "45897236",fecha1 );
        Senador pt2 = new Senador ("Carepapa", "Centeno Cifuentes", 49, "36578924",fecha1);
        Senador pt3 = new Senador ("Roy", "Molino Viejo", 49, "1478952",fecha1);

        ListaLegisladores listaLegisladores = new ListaLegisladores ();
        listaLegisladores.addLegislador (pi1);
        listaLegisladores.addLegislador(pi2);
        listaLegisladores.addLegislador (pi3);
        listaLegisladores.addLegislador (pt1);
        listaLegisladores.addLegislador(pt2);
        listaLegisladores.addLegislador (pt3);
        listaLegisladores.imprimirLista();
       
        System.out.println ("EL TOTAL DE LA NÓMINA DE LOS CONGRESISTAS ES  " +
        listaLegisladores.importeTotalNominaLegislador()+ " Dolares");
    }  }   //Cierre del main y cierre de la clase


17
Ejercicio CU00694B del curso de programación Java desde cero

Muy a pesar que el ejercicio dice la clase figura debe tener al menos el campo dimensionPrincipal, en la vida real no se calculan únicamente cuadrados, si no tan bien rectángulos y esto lo traté de considerar en el código adjunto, sólo que no me explico porque no me funciona para calcular el área del cuadrado.

Código: [Seleccionar]
package figura;

/**
 *
 * @author ITCO1724
 */


public class Figura {

int dimencionPrincipal;

//Constructor
public Figura(){dimencionPrincipal = 0;}
//Constructor sobrecargado
public Figura(int dimensionPrincipal){this.dimencionPrincipal = dimencionPrincipal;}
//Getters and Setters
public double getDimensionPrincipal() {return dimencionPrincipal;}
public void  setDimensionPrincipal(int dimencionPrincipal) {this.dimencionPrincipal = dimencionPrincipal;}

}

Código: [Seleccionar]
package figura;

/**
 *
 * @author ITCO1724
 */

public class Circulo extends Figura{
    private double r;  //  variables para la coordenada en x,y,r (radio)
    private static final double PI =3.1416;
    //private int areaCirculo;
   
    public Circulo(double r) {  // método para construir un objeto con valores double
       this.r = r;
       
     }
           
    public double Perimetro () { return 2.0 * PI * r;}  // método que te dá la longitud del circulo
    public double CalcularArea() {  return (PI * r * r);}       // método calcula el area del circulo
   
    public int getareaCirculo() {return (int) (PI * r * r);}   

// método que te dá el valor del área del circulo
    public boolean equals(Object obj) {
        if (obj instanceof Circulo) {
            Circulo circulo = (Circulo) obj;
            if (super.getDimensionPrincipal() == (circulo.getDimensionPrincipal())) {
                return true;}
        else {return false;}
    }
return false;
}

   
    public String toString (){String mensaje = "El area del Circulo : "+ CalcularArea();
        return mensaje;
    }

}

Código: [Seleccionar]
package figura;
/**
 *
 * @author ITCO1724
 */


public class Cuadrado extends Figura {
    private final int ancho;
    private final int alto;
    private int areaCuadrado;

public Cuadrado(int ancho, int alto){
    this.ancho = 0;
    this.alto = 0;
    this.areaCuadrado = areaCuadrado;
}
   
public int CalcularArea(){
    areaCuadrado = (ancho*alto);
    System.out.println("area "+ (ancho*alto));
    return areaCuadrado;
}

public int getareaCuadrado() {return areaCuadrado;}



public boolean equals(Object obj) {
    if (obj instanceof Cuadrado) {
Cuadrado cuadrado = (Cuadrado) obj;
if (super.getDimensionPrincipal() == (cuadrado.getDimensionPrincipal())) {
             return true;}
        else {
            return false;}
}
    return false;
}

 public String toString (){String mensaje = "El area del Cuadrado : "+ CalcularArea();
       
        return mensaje;
       
 
    }
 
}

Código: [Seleccionar]
package figura;

/**
 *
 * @author ITCO1724
 */
public class TestHerencia5 {
 
    public static void main(String[] args) {


Cuadrado cuadrado1 = new Cuadrado(2,2);
                System.out.println(cuadrado1.toString());
Cuadrado cuadrado2 = new Cuadrado(2,2);
                System.out.println(cuadrado2.toString());
Cuadrado cuadrado3 = new Cuadrado(2,2);
                System.out.println(cuadrado3.toString());

Circulo circulo1 = new Circulo(2);
                System.out.println(circulo1.toString());
Circulo circulo2 = new Circulo(2);
                System.out.println(circulo2.toString());
Circulo circulo3 = new Circulo(2);
                System.out.println(circulo3.toString());

System.out.println("El área del cuadrado1 es: " +cuadrado1.CalcularArea());
System.out.println("El área del cuadrado2 es: " +cuadrado2.CalcularArea());
                System.out.println("El área del cuadrado2 es: " +cuadrado3.CalcularArea());
System.out.println("El área del círculo1 es: " +circulo1.CalcularArea());
System.out.println("El área del círculo2 es: " +circulo2.CalcularArea());
                System.out.println("El área del círculo2 es: " +circulo3.CalcularArea());

System.out.println("¿Son iguales las areas del cuadrado1 y la del cuadrado2? "+cuadrado1.equals(cuadrado2.CalcularArea()));
System.out.println("¿Son iguales las areas del cuadrado1 y la del cuadrado3? "+cuadrado1.equals(cuadrado3.CalcularArea()));
System.out.println("¿Son iguales las areas del circulo1 y la del circulo2? "+circulo1.equals(circulo2));
System.out.println("¿Son iguales las areas del circulo1 y la del circulo3? "+circulo1.equals(circulo3));
}

}

18
Ejercicio CU00692B del curso de programación Java desde cero con BlueJ.

No me funciona como esperaba y le doy vueltas y revueltas y no encuentro el porque.

Considera que estás desarrollando un programa Java donde trabajas con la superclase Profesor y la subclase ProfesorEmerito. Crea el código para estas clases que cumpla los requisitos que indicamos.

Como atributos de la superclase tendremos nombre (String), edad (int) y añosConsolidados (int). Un método de la superclase será double obtenerSalarioBase () que obtendrá el salario base como (725 + el número de años consolidados multiplicado por 33.25).

En la subclase se trabajará con el campo adicional añosEmerito. Queremos hacer lo siguiente: sobreescribir el método obtenerSalarioBase () en la subclase para calcular el salario base del profesor emérito invocando mediante la palabra clave super al cálculo del salario base de Profesor y añadiéndole la cantidad de (47.80 * añosEmerito).

Código: [Seleccionar]
package profesor;

public class Profesor {

    private String nombre; private int edad; private int añosConsolidados; private double salarioBase;
    public Profesor() { nombre = ""; edad = 0; añosConsolidados = 0; salarioBase = 0.0;}

    public Profesor (String nombre, int edad, int AñosConsolidados, double SalarioBase) {
        this.nombre = nombre; this.edad = edad; this.añosConsolidados = añosConsolidados; this.salarioBase = salarioBase;  }

   
    public String getNombre() { return nombre;  }
    public int getEdad() { return edad;  }
    public void setAñosConsolidados(int añosConsolidados) {this.añosConsolidados = añosConsolidados;}
    public int getañosConsolidados(){return añosConsolidados;}
   /**
* Método para obtener el salario base de profesor
     * @return
*/
    public double obtenerSalarioBase (){
        salarioBase = (725 + añosConsolidados)*33.25;
        return salarioBase;
    }
    public void mostrarDatos() {
        System.out.println ("Datos Profesor. Profesor de nombre: " + getNombre() + "\n"  +
 " años consolidados: " + getañosConsolidados() + " " + "Y su salario:" + salarioBase); 
 }

} //Cierre de la clase

Código: [Seleccionar]
package profesor;

public class ProfesorEmerito extends Profesor { 
    private String IdProfesor;
    private int añosEmerito;
    private double SalarioProfesorEmerito;
 
   
    public ProfesorEmerito() { super(); }
    public ProfesorEmerito (String nombre, int edad, int AñosConsolidados, double SalarioBase) {
         super(nombre,edad, AñosConsolidados, SalarioBase);
        IdProfesor = "Unknown";   }
   
   
   //Metodos de la clase getter y setter
   public void setIdProfesor (String IdProfesor) { this.IdProfesor = IdProfesor;   }

    public String getIdProfesor () { return IdProfesor;   }
   
/**
* Método para obtener el salario base de un profesor emerito
*/
    public double obtenerSalarioBase (){
       /*return super.obtenerSalarioBase()+(47.80 * añosEmerito);  */
     
       SalarioProfesorEmerito = super.obtenerSalarioBase();
       SalarioProfesorEmerito = SalarioProfesorEmerito + 47.80* añosEmerito;
       return SalarioProfesorEmerito;
}

    public void mostrarDatos() {
        super.mostrarDatos();
       
       
        /*System.out.println ("Datos ProfesorEmerito. nombre: " + getNombre() + " " + 
 " con Id de profesor: " + getIdProfesor() + "" +  "Profesor Emerito. Salario:" + SalarioProfesorEmerito);*/
 }
} //Cierre de la clase
   

Código: [Seleccionar]
package profesor;


/**
 *
 * @author ITCO1724
 */
public class TestProfesor  {
    public static void main (String [ ] Args) {

        Profesor profesor1 = new Profesor ("Esteban Puentes", 33, 20 , 780.50);
        ProfesorEmerito ProfesorEmerito1 = new ProfesorEmerito("Antonio Ruiz",  54, 10, 525.10);
       
       
        profesor1.obtenerSalarioBase();
        profesor1.mostrarDatos();
       
        ProfesorEmerito1.obtenerSalarioBase();
        ProfesorEmerito1.mostrarDatos();
       
 
       
    } //Cierre del main

   
} //Cierre de la clase

19
Si, que pena. Faltó pegarla.
Gracias
Código: [Seleccionar]
/**
 *
 * @author Prototipo1
 */
public class TestVehiculo {
//El nombre de la clase
    public enum MarcaDeVehiculo { FORD, TOYOTA, SUZUKI, RENAULT, SEAT}

    public static void main(String[] args){
Vehiculo vehiculo = new Vehiculo();
String marca = vehiculo.getMarcaDeVehiculo();
vehiculo.setMatricula("0396FKX");
vehiculo.setMarcaDeVehiculo("FORD");

ystem.out.println("La marca del vehiculo es     "+vehiculo.getMarcaDeVehiculo()+ "        La Matricula es       " + vehiculo.getMatricula()); }   
}

20
Ejercicio CU00690B del taller de fundamentos de programación orientada a objetos con Java y BlueJ

Responde a las siguientes preguntas:

Supongamos la superclase Vehiculo que representa a cualquier tipo de vehículo y la subclase Taxi que representa a un tipo de vehículo concreto.

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

Rta: El objeto Vehiculo es de la superclase y el objeto Taxi es de una subclase, durante la ejecución la máquina virtual Java es capaz de identificar el tipo dinámico de las variables que apuntan a objetos y asignar un método u otro en función de ese tipo dinámico.


b) Escribe el código de una clase Vehiculo con los atributos matricula (String) y numeroDeRuedas (int), constructor, métodos getters y setters y método toString() para mostrar la información de un vehículo.

c) Escribe el código de una clase Taxi que herede de vehículo y que además de los atributos de Vehiculo lleve un atributo adicional nombreDelConductor (String) y numeroDePlazas (int), constructor, métodos getters y setters y método toString() para mostrar la información de un Taxi.

d) Escribe el código de una clase test con el método main que cree un objeto cuyo tipo es Vehiculo, instanciado como Taxi. Establece valores para sus atributos y usa el método toString(). ¿Qué método toString() resulta de aplicación, el propio de la clase Vehiculo o el propio de la clase Taxi? ¿Por qué?

Rta: Cualquiera de los dos, por que el método toString nos permite mostrar la información completa de un objeto, es decir, el valor de sus atributos.
Código: [Seleccionar]
package vehiculo;

import java.util.ArrayList;
import java.util.Scanner;

/**
 *
 * @author ITCO1724
 */
public class Taxi extends Vehiculo {

    //Se crea un ArrayList para guardar objetos de tipo Taxi.
    static ArrayList<Taxi> taxi = new ArrayList<Taxi>();
    static Scanner sc = new Scanner(System.in);

     //método main
    public static void main(String[] args) {
        leerTaxi();
        System.out.println("\nTaxis introducidos:");
        mostrarTaxis();
       
    } //fin método main   
   
    //Método para leer taxis e introducirlos en el array
public static void leerTaxi(){
        //Declaración de variables para leer los datos de los coches

        String matricula;
        String nombreDelConductor;
        int numeroDePlazas;
        int numeroDeRuedas;
        Taxi aux; //Variable auxiliar que contendrá la referencia a cada nuevo taxi introducido.
        int i, N ;
        //se pide por teclado el número de coches a leer

        do {
            System.out.print("Número de Taxis? ");
            N = sc.nextInt();
        } while (N < 0);
        sc.nextLine(); //limpiar el intro

        //lectura de N Taxis

        for (i = 1; i <= N; i++) {
            //leer datos de cada Taxi

            System.out.println("Taxi " + i);
            System.out.print("Matrícula: ");
            matricula = sc.nextLine();           
            System.out.print("NombreDelConductor: ");
            nombreDelConductor = sc.nextLine();
            System.out.print("numero de asientos: ");
            numeroDePlazas = sc.nextInt();
            System.out.print("Número de Ruedas: ");
            numeroDeRuedas = sc.nextInt();
            sc.nextLine(); //limpiar el intro
            aux = new Taxi(); //Se crea un objeto Taxi y se asigna su referencia a aux

            //se asignan valores a los atributos del nuevo objeto
            aux.setMatricula(matricula);
            aux.setnombreDelConductor(nombreDelConductor);
            aux.setnumeroDePlazas(numeroDePlazas);
            aux.setnumeroDeRuedas(numeroDeRuedas);
                   
           //se añade el objeto al final del array

            taxi.add(aux);}

    } //fin método leerTaxis()

//Método para mostrar todos los Taxis   
    public static void mostrarTaxis(){       
        for(int i = 0; i< taxi.size(); i++)
            System.out.println(taxi.get(i));  //se invoca el método toString de la clase Taxi
    }
} //fin de la clase principal
   


Código: [Seleccionar]
package vehiculo;




/**
 *
 * @author ITCO1724
 */
public class Vehiculo {
    private String matricula;
    private int numeroDeRuedas;
    private String nombreDelConductor;
    private int numeroDePlazas;

//Métodos
public String getMatricula() { return matricula;  }
public void setMatricula(String matricula) { this.matricula = matricula;  }
public int getnumeroDeRuedas () { return numeroDeRuedas; } //Método función para retornar el numero de ruedas
public void setnumeroDeRuedas (int numeroDeRuedas) { this. numeroDeRuedas = numeroDeRuedas; } //Método procedimiento para fijar el numeroDeRuedas
public int getnumeroDePlazas (){return numeroDePlazas;}
public void setnumeroDePlazas (int numeroDePlazas) { this. numeroDePlazas = numeroDePlazas; }
public String getnombreDelConductor() { return nombreDelConductor;  }
public void setnombreDelConductor(String nombreDelConductor) { this.nombreDelConductor = nombreDelConductor;  }

public String toString() { StringBuilder sb = new StringBuilder();
        sb.append("\nMatrícula: ");
        sb.append(matricula);     
        sb.append("\nnumeroDeRuedas: ");
        sb.append(numeroDeRuedas);     
        sb.append("\nNombreDelConductor: ");
        sb.append(nombreDelConductor);   
        sb.append("\nnumero de asientos: ");
        sb.append(numeroDePlazas);   
        return sb.toString();
    }   
}

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