Diferencia entre revisiones de «Prog PN Solución Ejercicios»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
(No se muestran 22 ediciones intermedias del mismo usuario)
Línea 758: Línea 758:
 
     public String toString(){
 
     public String toString(){
 
          
 
          
−
         return super.toString() + String.format("Nombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc);
+
         return super.toString().concat(String.format("Nombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
 
     }
 
     }
 
      
 
      
Línea 797: Línea 797:
 
     public String toString(){
 
     public String toString(){
 
          
 
          
−
         return super.toString() + String.format("Dinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes);
+
         return super.toString().concat(String.format("Dinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
 
     }
 
     }
 
      
 
      
Línea 805: Línea 805:
  
 
'''Clase Principal'''
 
'''Clase Principal'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="18-19" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="17-18" >
  
 
package programador.novato;
 
package programador.novato;
Línea 834: Línea 834:
  
 
<br />
 
<br />
 +
 
=Solución Ejercicio 8=
 
=Solución Ejercicio 8=
−
'''Clase '''
+
'''Clase Vehiculo'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="8,16-18" >
 +
package programador.novato;
 +
 
 +
public class Vehiculo {
 +
    String matricula;
 +
    String marca;
 +
    short anoCompra;
 +
   
 +
    static int numVehiculos;
 +
 
 +
    public Vehiculo(String matricula,String marca,short anoCompra){
 +
        this.matricula = matricula;
 +
        this.marca = marca;
 +
        this.anoCompra = anoCompra;
 +
    }
 +
   
 +
    public void impNumVehiculos(){
 +
        System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
 +
    }
 +
   
 +
    public void imprimirDatos(){
 +
        this.imprimirMatricula();
 +
        this.imprimirMarca();
 +
        this.imprimirAnoCompra();
 +
    }
 +
   
 +
    public void imprimirMarca(){
 +
        System.out.printf("%nMarca:%s",marca);
 +
    }
 +
    public void imprimirMatricula(){
 +
        System.out.printf("%nMatricula:%s",matricula);
 +
    }
 +
    public void imprimirAnoCompra(){
 +
        System.out.printf("%nAño de la compra:%s",anoCompra);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
 +
    }
 +
   
 +
}
 +
 
 
::</syntaxhighlight>
 
::</syntaxhighlight>
  
  
 
'''Clase Principal'''
 
'''Clase Principal'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="7-8,10-11,14-15,17-18" >
 +
package programador.novato;
 +
 
 +
public class Principal {
 +
 +
    public static void main(String arg[]){
 +
        Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 +
        Coche.numVehiculos++;
 +
        coche1.impNumVehiculos();
 +
        Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 +
        Coche.numVehiculos++;
 +
        coche2.impNumVehiculos();
 +
 
 +
        Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
 +
        Furgoneta.numVehiculos++;
 +
        furgoneta1.impNumVehiculos();
 +
        Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
 +
        Furgoneta.numVehiculos++;
 +
        furgoneta2.impNumVehiculos();
 +
       
 +
 
 +
        coche1.imprimirDatos();
 +
        furgoneta1.imprimirDatos();
 +
       
 +
        System.out.printf("\nCOCHE2:\n%s",coche2);
 +
        System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
 +
       
 +
    }
 +
   
 +
}
 +
 
 
::</syntaxhighlight>
 
::</syntaxhighlight>
  
Línea 850: Línea 923:
  
 
=Solución Ejercicio 9=
 
=Solución Ejercicio 9=
−
'''Clase '''
+
'''Clase Vehiculo'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="15" >
 +
package programador.novato;
 +
 
 +
public class Vehiculo {
 +
    String matricula;
 +
    String marca;
 +
    short anoCompra;
 +
   
 +
    static int numVehiculos;
 +
 
 +
    public Vehiculo(String matricula,String marca,short anoCompra){
 +
        this.matricula = matricula;
 +
        this.marca = marca;
 +
        this.anoCompra = anoCompra;
 +
       
 +
        numVehiculos++;
 +
    }
 +
   
 +
    public void impNumVehiculos(){
 +
        System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
 +
    }
 +
   
 +
    public void imprimirDatos(){
 +
        this.imprimirMatricula();
 +
        this.imprimirMarca();
 +
        this.imprimirAnoCompra();
 +
    }
 +
   
 +
    public void imprimirMarca(){
 +
        System.out.printf("%nMarca:%s",marca);
 +
    }
 +
    public void imprimirMatricula(){
 +
        System.out.printf("%nMatricula:%s",matricula);
 +
    }
 +
    public void imprimirAnoCompra(){
 +
        System.out.printf("%nAño de la compra:%s",anoCompra);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
 +
    }
 +
   
 +
}
 
::</syntaxhighlight>
 
::</syntaxhighlight>
  
Línea 857: Línea 973:
 
'''Clase Principal'''
 
'''Clase Principal'''
 
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
 
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
 +
 +
package programador.novato;
 +
 +
public class Principal {
 +
 +
    public static void main(String arg[]){
 +
        Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 +
        coche1.impNumVehiculos();
 +
        Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 +
        coche2.impNumVehiculos();
 +
 +
        Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
 +
        furgoneta1.impNumVehiculos();
 +
        Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
 +
        furgoneta2.impNumVehiculos();
 +
       
 +
 +
        coche1.imprimirDatos();
 +
        furgoneta1.imprimirDatos();
 +
       
 +
        System.out.printf("\nCOCHE2:\n%s",coche2);
 +
        System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
 +
       
 +
    }
 +
   
 +
}
 +
 
::</syntaxhighlight>
 
::</syntaxhighlight>
  
Línea 863: Línea 1006:
  
 
<br />
 
<br />
 +
 
=Solución Ejercicio 10=
 
=Solución Ejercicio 10=
−
'''Clase '''
+
'''Clase Vehiculo'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="18" >
 +
package programador.novato;
 +
 
 +
public class Vehiculo {
 +
    String matricula;
 +
    String marca;
 +
    short anoCompra;
 +
   
 +
    static int numVehiculos;
 +
 
 +
    public Vehiculo(String matricula,String marca,short anoCompra){
 +
        this.matricula = matricula;
 +
        this.marca = marca;
 +
        this.anoCompra = anoCompra;
 +
       
 +
        numVehiculos++;
 +
    }
 +
   
 +
    public static void impNumVehiculos(){
 +
        System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
 +
    }
 +
   
 +
    public void imprimirDatos(){
 +
        this.imprimirMatricula();
 +
        this.imprimirMarca();
 +
        this.imprimirAnoCompra();
 +
    }
 +
   
 +
    public void imprimirMarca(){
 +
        System.out.printf("%nMarca:%s",marca);
 +
    }
 +
    public void imprimirMatricula(){
 +
        System.out.printf("%nMatricula:%s",matricula);
 +
    }
 +
    public void imprimirAnoCompra(){
 +
        System.out.printf("%nAño de la compra:%s",anoCompra);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
 +
    }
 +
   
 +
}
 
::</syntaxhighlight>
 
::</syntaxhighlight>
  
  
 
'''Clase Principal'''
 
'''Clase Principal'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="7,9,12,14" >
 +
package programador.novato;
 +
 
 +
public class Principal {
 +
 +
    public static void main(String arg[]){
 +
        Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 +
        Vehiculo.impNumVehiculos();
 +
        Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 +
        Vehiculo.impNumVehiculos();
 +
 
 +
        Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
 +
        Vehiculo.impNumVehiculos();
 +
        Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
 +
        Vehiculo.impNumVehiculos();
 +
       
 +
 
 +
        coche1.imprimirDatos();
 +
        furgoneta1.imprimirDatos();
 +
       
 +
        System.out.printf("\nCOCHE2:\n%s",coche2);
 +
        System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
 +
       
 +
    }
 +
   
 +
}
 +
 
 
::</syntaxhighlight>
 
::</syntaxhighlight>
  
Línea 877: Línea 1090:
  
 
<br />
 
<br />
−
=Solución Ejercicio 11=
+
 
−
'''Clase '''
+
=Solución Ejercicio 13=
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
'''Clase Vehiculo'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="5-7,12-14,48,56,64" >
 +
package programador.novato;
 +
 
 +
public class Vehiculo {
 +
 
 +
    private String matricula;
 +
    private String marca;
 +
    private short anoCompra;
 +
   
 +
    private static int numVehiculos;
 +
 
 +
    public Vehiculo(String matricula,String marca,short anoCompra){
 +
        setMatricula(matricula);
 +
        setMarca(marca);
 +
        setAnoCompra(anoCompra);
 +
       
 +
        numVehiculos++;
 +
    }
 +
   
 +
    public static void impNumVehiculos(){
 +
        System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
 +
    }
 +
   
 +
    public void imprimirDatos(){
 +
        this.imprimirMatricula();
 +
        this.imprimirMarca();
 +
        this.imprimirAnoCompra();
 +
    }
 +
   
 +
    public void imprimirMarca(){
 +
        System.out.printf("%nMarca:%s",marca);
 +
    }
 +
    public void imprimirMatricula(){
 +
        System.out.printf("%nMatricula:%s",matricula);
 +
    }
 +
    public void imprimirAnoCompra(){
 +
        System.out.printf("%nAño de la compra:%s",anoCompra);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
 +
    }
 +
 
 +
    public String getMatricula() {
 +
        return matricula;
 +
    }
 +
 
 +
    public final void setMatricula(String matricula) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.matricula = matricula;
 +
    }
 +
 
 +
    public String getMarca() {
 +
        return marca;
 +
    }
 +
 
 +
    public final void setMarca(String marca) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.marca = marca;
 +
    }
 +
 
 +
    public short getAnoCompra() {
 +
        return anoCompra;
 +
    }
 +
 
 +
    public final void setAnoCompra(short anoCompra) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.anoCompra = anoCompra;
 +
    }
 +
   
 +
}
 +
::</syntaxhighlight>
 +
 
 +
'''Clase Furgoneta'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="6-7,11-12,39,47" >
 +
package programador.novato;
 +
 
 +
 
 +
public class Furgoneta extends Vehiculo{
 +
   
 +
    private double dinero;
 +
    private byte numVigilantes;
 +
   
 +
    public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
 +
        super(matricula,marca,anoCompra);
 +
        setDinero(dinero);
 +
        setNumVigilantes(numVigilantes);
 +
    }
 +
 
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirDinero();
 +
        this.imprimirJurados();
 +
    }
 +
   
 +
    public void imprimirDinero(){
 +
        System.out.printf("%nDinero: %,.2f",dinero);
 +
    }
 +
    public void imprimirJurados(){
 +
        System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
 +
    }
 +
   
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("Dinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
 +
    }
 +
 
 +
    public double getDinero() {
 +
        return dinero;
 +
    }
 +
 
 +
    public final void setDinero(double dinero) {
 +
        this.dinero = dinero;
 +
    }
 +
 
 +
    public byte getNumVigilantes() {
 +
        return numVigilantes;
 +
    }
 +
 
 +
    public final void setNumVigilantes(byte numVigilantes) {
 +
        this.numVigilantes = numVigilantes;
 +
    }
 +
   
 +
}
 +
::</syntaxhighlight>
 +
 
 +
'''Clase Coche'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="6,7,11,12,38,46" >
 +
package programador.novato;
 +
 
 +
 
 +
public class Coche extends Vehiculo{
 +
   
 +
    private String nombreCond;
 +
    private String nombreDoc;
 +
   
 +
    public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc){
 +
        super(matricula,marca,anoCompra);
 +
        setNombreCond(nombreCond);
 +
        setNombreDoc(nombreDoc);
 +
    }
 +
 
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirNombreCond();
 +
        this.imprimirNombreDoc();
 +
    }
 +
   
 +
    public void imprimirNombreCond(){
 +
        System.out.printf("%nNombre del conductor: %s",nombreCond);
 +
    }
 +
    public void imprimirNombreDoc(){
 +
        System.out.printf("%nNombre documento: %s",nombreDoc);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("Nombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
 +
    }
 +
 
 +
    public String getNombreCond() {
 +
        return nombreCond;
 +
    }
 +
 
 +
    public final void setNombreCond(String nombreCond) {
 +
        this.nombreCond = nombreCond;
 +
    }
 +
 
 +
    public String getNombreDoc() {
 +
        return nombreDoc;
 +
    }
 +
 
 +
    public final void setNombreDoc(String nombreDoc) {
 +
        this.nombreDoc = nombreDoc;
 +
    }
 +
   
 +
}
 
::</syntaxhighlight>
 
::</syntaxhighlight>
 +
 +
 +
 +
 +
<br />
 +
 +
=Solución Ejercicio 14=
 +
'''Clase Furgoneta'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="23-30" >
 +
package programador.novato;
 +
 +
 +
public class Furgoneta extends Vehiculo{
 +
   
 +
    private double dinero;
 +
    private byte numVigilantes;
 +
   
 +
    public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
 +
        super(matricula,marca,anoCompra);
 +
        setDinero(dinero);
 +
        setNumVigilantes(numVigilantes);
 +
 +
    }
 +
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirDinero();
 +
        this.imprimirJurados();
 +
    }
 +
   
 +
    public void calcularIngresos(){
 +
        if (dinero < 100000){
 +
            ingreso = 10000;
 +
        }
 +
        else {
 +
            ingreso = 25000;
 +
        }
 +
    }
 +
   
 +
    public void imprimirDinero(){
 +
        System.out.printf("%nDinero: %,.2f",dinero);
 +
    }
 +
    public void imprimirJurados(){
 +
        System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
 +
    }
 +
   
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("\nDinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
 +
    }
 +
 +
    public double getDinero() {
 +
        return dinero;
 +
    }
 +
 +
    public final void setDinero(double dinero) {
 +
        this.dinero = dinero;
 +
    }
 +
 +
    public byte getNumVigilantes() {
 +
        return numVigilantes;
 +
    }
 +
 +
    public final void setNumVigilantes(byte numVigilantes) {
 +
        this.numVigilantes = numVigilantes;
 +
    }
 +
   
 +
}
 +
</syntaxhighlight>
 +
 +
'''Clase Coche'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="8,10,14,18-30" >
 +
package programador.novato;
 +
 +
public final class Coche extends Vehiculo{
 +
   
 +
    private String nombreCond;
 +
    private String nombreDoc;
 +
 +
    byte importancia;
 +
   
 +
    public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc,byte importancia){
 +
        super(matricula,marca,anoCompra);
 +
        setNombreCond(nombreCond);
 +
        setNombreDoc(nombreDoc);
 +
        setImportancia(importancia);
 +
       
 +
    }
 +
 +
    public void calcularIngresos(){
 +
        switch(importancia){
 +
            case 0:
 +
                ingreso = 5000;
 +
                break;
 +
            case 1:
 +
                ingreso = 10000;
 +
                break;
 +
            case 2:
 +
                ingreso = 20000;
 +
                break;
 +
        }
 +
    }
 +
   
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirNombreCond();
 +
        this.imprimirNombreDoc();
 +
    }
 +
   
 +
    public void imprimirNombreCond(){
 +
        System.out.printf("%nNombre del conductor: %s",nombreCond);
 +
    }
 +
    public void imprimirNombreDoc(){
 +
        System.out.printf("%nNombre documento: %s",nombreDoc);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("\nNombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
 +
    }
 +
 +
    public String getNombreCond() {
 +
        return nombreCond;
 +
    }
 +
 +
    public final void setNombreCond(String nombreCond) {
 +
        this.nombreCond = nombreCond;
 +
    }
 +
 +
    public String getNombreDoc() {
 +
        return nombreDoc;
 +
    }
 +
 +
    public final void setNombreDoc(String nombreDoc) {
 +
        this.nombreDoc = nombreDoc;
 +
    }
 +
 +
    public byte getImportancia() {
 +
        return importancia;
 +
    }
 +
 +
    public void setImportancia(byte importancia) {
 +
        this.importancia = importancia;
 +
    }
 +
   
 +
}
 +
 +
</syntaxhighlight>
 +
 +
 +
'''Clase Vehiculo'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="8,21-23,33,48" >
 +
package programador.novato;
 +
 +
public class Vehiculo {
 +
 +
    private String matricula;
 +
    private String marca;
 +
    private short anoCompra;
 +
    double ingreso;
 +
 +
       
 +
    private static int numVehiculos;
 +
 +
    public Vehiculo(String matricula,String marca,short anoCompra){
 +
        setMatricula(matricula);
 +
        setMarca(marca);
 +
        setAnoCompra(anoCompra);
 +
       
 +
        numVehiculos++;
 +
    }
 +
   
 +
    public void imprimirIngresos(){
 +
        System.out.printf("%nIngresos:%.2f",ingreso);
 +
    }
 +
   
 +
    public static void impNumVehiculos(){
 +
        System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
 +
    }
 +
   
 +
    public void imprimirDatos(){
 +
        this.imprimirMatricula();
 +
        this.imprimirMarca();
 +
        this.imprimirAnoCompra();
 +
        this.imprimirIngresos();
 +
    }
 +
   
 +
    public void imprimirMarca(){
 +
        System.out.printf("%nMarca:%s",marca);
 +
    }
 +
    public void imprimirMatricula(){
 +
        System.out.printf("%nMatricula:%s",matricula);
 +
    }
 +
    public void imprimirAnoCompra(){
 +
        System.out.printf("%nAño de la compra:%s",anoCompra);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s\nIngresos:%.2f",matricula,marca,anoCompra,ingreso);
 +
    }
 +
 +
    public String getMatricula() {
 +
        return matricula;
 +
    }
 +
 +
    public final void setMatricula(String matricula) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.matricula = matricula;
 +
    }
 +
 +
    public String getMarca() {
 +
        return marca;
 +
    }
 +
 +
    public final void setMarca(String marca) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.marca = marca;
 +
    }
 +
 +
    public short getAnoCompra() {
 +
        return anoCompra;
 +
    }
 +
 +
    public final void setAnoCompra(short anoCompra) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.anoCompra = anoCompra;
 +
    }
 +
   
 +
}
 +
 +
</syntaxhighlight>
 +
 +
'''Clase Principal'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="6-7,9-10,14,17" >
 +
package programador.novato;
 +
 +
public class Principal {
 +
 +
    public static void main(String arg[]){
 +
        Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono",(byte)0);
 +
        coche1.calcularIngresos();
 +
        Vehiculo.impNumVehiculos();
 +
        Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China",(byte)2);
 +
        coche2.calcularIngresos();
 +
        Vehiculo.impNumVehiculos();
 +
 +
        Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
 +
        furgoneta1.calcularIngresos();
 +
        Vehiculo.impNumVehiculos();
 +
        Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,226030.72,(byte)1);
 +
        furgoneta2.calcularIngresos();
 +
        Vehiculo.impNumVehiculos();
 +
       
 +
        coche1.imprimirDatos();
 +
        furgoneta1.imprimirDatos();
 +
       
 +
        System.out.printf("\nCOCHE2:\n%s",coche2);
 +
        System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
 +
       
 +
    }
 +
   
 +
}
 +
 +
</syntaxhighlight>
 +
 +
 +
 +
 +
<br />
 +
 +
=Solución Ejercicio 15=
 +
'''Clase Vehiculo'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="10,23-25,27-29" >
 +
package programador.novato;
 +
 +
public class Vehiculo {
 +
 +
    private String matricula;
 +
    private String marca;
 +
    private short anoCompra;
 +
    double ingreso;
 +
   
 +
    static double ingresosTotal;
 +
    private static int numVehiculos;
 +
 +
       
 +
 +
    public Vehiculo(String matricula,String marca,short anoCompra){
 +
        setMatricula(matricula);
 +
        setMarca(marca);
 +
        setAnoCompra(anoCompra);
 +
       
 +
        numVehiculos++;
 +
    }
 +
   
 +
    public void calcularIngresosTotal(){
 +
        ingresosTotal += ingreso;
 +
    }
 +
   
 +
    public static void imprimirIngresosTotal(){
 +
        System.out.printf("%nIngresos TOTALES:%.2f",ingresosTotal);
 +
    }
 +
 +
    public void imprimirIngresos(){
 +
        System.out.printf("%nIngresos:%.2f",ingreso);
 +
    }
 +
   
 +
    public static void impNumVehiculos(){
 +
        System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
 +
    }
 +
   
 +
    public void imprimirDatos(){
 +
        this.imprimirMatricula();
 +
        this.imprimirMarca();
 +
        this.imprimirAnoCompra();
 +
        this.imprimirIngresos();
 +
    }
 +
   
 +
    public void imprimirMarca(){
 +
        System.out.printf("%nMarca:%s",marca);
 +
    }
 +
    public void imprimirMatricula(){
 +
        System.out.printf("%nMatricula:%s",matricula);
 +
    }
 +
    public void imprimirAnoCompra(){
 +
        System.out.printf("%nAño de la compra:%s",anoCompra);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s\nIngresos:%.2f",matricula,marca,anoCompra,ingreso);
 +
    }
 +
 +
    public String getMatricula() {
 +
        return matricula;
 +
    }
 +
 +
    public final void setMatricula(String matricula) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.matricula = matricula;
 +
    }
 +
 +
    public String getMarca() {
 +
        return marca;
 +
    }
 +
 +
    public final void setMarca(String marca) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.marca = marca;
 +
    }
 +
 +
    public short getAnoCompra() {
 +
        return anoCompra;
 +
    }
 +
 +
    public final void setAnoCompra(short anoCompra) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.anoCompra = anoCompra;
 +
    }
 +
 +
    public double getIngreso() {
 +
        return ingreso;
 +
    }
 +
 +
    public void setIngreso(double ingreso) {
 +
        this.ingreso = ingreso;
 +
    }
 +
   
 +
}
 +
 +
</syntaxhighlight>
 +
 +
 +
'''Clase Furgoneta'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="29" >
 +
package programador.novato;
 +
 +
public class Furgoneta extends Vehiculo{
 +
   
 +
    private double dinero;
 +
    private byte numVigilantes;
 +
   
 +
    public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
 +
        super(matricula,marca,anoCompra);
 +
        setDinero(dinero);
 +
        setNumVigilantes(numVigilantes);
 +
 +
    }
 +
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirDinero();
 +
        this.imprimirJurados();
 +
    }
 +
   
 +
    public void calcularIngresos(){
 +
        if (dinero < 100000){
 +
            setIngreso(10000);
 +
        }
 +
        else {
 +
            setIngreso(25000);
 +
        }
 +
        calcularIngresosTotal();
 +
    }
 +
   
 +
    public void imprimirDinero(){
 +
        System.out.printf("%nDinero: %,.2f",dinero);
 +
    }
 +
    public void imprimirJurados(){
 +
        System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
 +
    }
 +
   
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("\nDinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
 +
    }
 +
 +
    public double getDinero() {
 +
        return dinero;
 +
    }
 +
 +
    public final void setDinero(double dinero) {
 +
        this.dinero = dinero;
 +
    }
 +
 +
    public byte getNumVigilantes() {
 +
        return numVigilantes;
 +
    }
 +
 +
    public final void setNumVigilantes(byte numVigilantes) {
 +
        this.numVigilantes = numVigilantes;
 +
    }
 +
   
 +
}
 +
</syntaxhighlight>
 +
 +
 +
'''Clase Coche'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="31" >
 +
package programador.novato;
 +
 +
public final class Coche extends Vehiculo{
 +
   
 +
    private String nombreCond;
 +
    private String nombreDoc;
 +
 +
    byte importancia;
 +
   
 +
    public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc,byte importancia){
 +
        super(matricula,marca,anoCompra);
 +
        setNombreCond(nombreCond);
 +
        setNombreDoc(nombreDoc);
 +
        setImportancia(importancia);
 +
 +
       
 +
    }
 +
 +
    public void calcularIngresos(){
 +
        switch(importancia){
 +
            case 0:
 +
                setIngreso(5000);
 +
                break;
 +
            case 1:
 +
                setIngreso(10000);
 +
                break;
 +
            case 2:
 +
                setIngreso(20000);
 +
                break;
 +
        }
 +
        calcularIngresosTotal();
 +
    }
 +
   
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirNombreCond();
 +
        this.imprimirNombreDoc();
 +
    }
 +
   
 +
    public void imprimirNombreCond(){
 +
        System.out.printf("%nNombre del conductor: %s",nombreCond);
 +
    }
 +
    public void imprimirNombreDoc(){
 +
        System.out.printf("%nNombre documento: %s",nombreDoc);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("\nNombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
 +
    }
 +
 +
    public String getNombreCond() {
 +
        return nombreCond;
 +
    }
 +
 +
    public final void setNombreCond(String nombreCond) {
 +
        this.nombreCond = nombreCond;
 +
    }
 +
 +
    public String getNombreDoc() {
 +
        return nombreDoc;
 +
    }
 +
 +
    public final void setNombreDoc(String nombreDoc) {
 +
        this.nombreDoc = nombreDoc;
 +
    }
 +
 +
    public byte getImportancia() {
 +
        return importancia;
 +
    }
 +
 +
    public void setImportancia(byte importancia) {
 +
        this.importancia = importancia;
 +
    }
 +
   
 +
}
 +
</syntaxhighlight>
  
  
 
'''Clase Principal'''
 
'''Clase Principal'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="26" >
−
::</syntaxhighlight>
+
package programador.novato;
 +
 
 +
public class Principal {
 +
 +
    public static void main(String arg[]){
 +
        Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono",(byte)0);
 +
        coche1.calcularIngresos();
 +
        Vehiculo.impNumVehiculos();
 +
        Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China",(byte)2);
 +
        coche2.calcularIngresos();
 +
        Vehiculo.impNumVehiculos();
 +
 
 +
        Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
 +
        furgoneta1.calcularIngresos();
 +
        Vehiculo.impNumVehiculos();
 +
        Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,226030.72,(byte)1);
 +
        furgoneta2.calcularIngresos();
 +
        Vehiculo.impNumVehiculos();
 +
       
 +
        coche1.imprimirDatos();
 +
        furgoneta1.imprimirDatos();
 +
       
 +
        System.out.printf("\nCOCHE2:\n%s",coche2);
 +
        System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
 +
       
 +
        Vehiculo.imprimirIngresosTotal();
 +
    }
 +
   
 +
}
  
 +
</syntaxhighlight>
  
  
  
 
<br />
 
<br />
−
=Solución Ejercicio 12=
 
−
'''Clase '''
 
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
 
−
::</syntaxhighlight>
 
  
 +
=Solución Ejercicio 16=
 +
'''Clase Vehiculo'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="8,10,23" >
 +
package programador.novato;
 +
 +
public class Vehiculo {
 +
 +
    private String matricula;
 +
    private String marca;
 +
    private short anoCompra;
 +
    private double ingreso;
 +
   
 +
    private static double ingresosTotal;
 +
    private static int numVehiculos;
 +
 +
       
 +
 +
    public Vehiculo(String matricula,String marca,short anoCompra){
 +
        setMatricula(matricula);
 +
        setMarca(marca);
 +
        setAnoCompra(anoCompra);
 +
       
 +
        numVehiculos++;
 +
    }
 +
   
 +
    protected void calcularIngresosTotal(){
 +
        ingresosTotal += ingreso;
 +
    }
 +
   
 +
    public static void imprimirIngresosTotal(){
 +
        System.out.printf("%nIngresos TOTALES:%.2f",ingresosTotal);
 +
    }
 +
 +
    public void imprimirIngresos(){
 +
        System.out.printf("%nIngresos:%.2f",ingreso);
 +
    }
 +
   
 +
    public static void impNumVehiculos(){
 +
        System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
 +
    }
 +
   
 +
    public void imprimirDatos(){
 +
        this.imprimirMatricula();
 +
        this.imprimirMarca();
 +
        this.imprimirAnoCompra();
 +
        this.imprimirIngresos();
 +
    }
 +
   
 +
    public void imprimirMarca(){
 +
        System.out.printf("%nMarca:%s",marca);
 +
    }
 +
    public void imprimirMatricula(){
 +
        System.out.printf("%nMatricula:%s",matricula);
 +
    }
 +
    public void imprimirAnoCompra(){
 +
        System.out.printf("%nAño de la compra:%s",anoCompra);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s\nIngresos:%.2f",matricula,marca,anoCompra,ingreso);
 +
    }
 +
 +
    public String getMatricula() {
 +
        return matricula;
 +
    }
 +
 +
    public final void setMatricula(String matricula) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.matricula = matricula;
 +
    }
 +
 +
    public String getMarca() {
 +
        return marca;
 +
    }
 +
 +
    public final void setMarca(String marca) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.marca = marca;
 +
    }
 +
 +
    public short getAnoCompra() {
 +
        return anoCompra;
 +
    }
 +
 +
    public final void setAnoCompra(short anoCompra) {  // Se pone final para que pueda llamarse desde el constructor
 +
        this.anoCompra = anoCompra;
 +
    }
 +
 +
    public double getIngreso() {
 +
        return ingreso;
 +
    }
 +
 +
    public void setIngreso(double ingreso) {
 +
        this.ingreso = ingreso;
 +
    }
 +
   
 +
}
 +
</syntaxhighlight>
 +
 +
'''Clase Coche'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="8,16,31,69-75" >
 +
 +
package programador.novato;
 +
 +
public final class Coche extends Vehiculo{
 +
   
 +
    private String nombreCond;
 +
    private String nombreDoc;
 +
 +
    private byte importancia;
 +
   
 +
    public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc,byte importancia){
 +
        super(matricula,marca,anoCompra);
 +
        setNombreCond(nombreCond);
 +
        setNombreDoc(nombreDoc);
 +
        setImportancia(importancia);
 +
       
 +
        calcularIngresos();
 +
    }
 +
 +
    private void calcularIngresos(){
 +
        switch(importancia){
 +
            case 0:
 +
                setIngreso(5000);
 +
                break;
 +
            case 1:
 +
                setIngreso(10000);
 +
                break;
 +
            case 2:
 +
                setIngreso(20000);
 +
                break;
 +
        }
 +
        calcularIngresosTotal();
 +
    }
 +
   
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirNombreCond();
 +
        this.imprimirNombreDoc();
 +
    }
 +
   
 +
    public void imprimirNombreCond(){
 +
        System.out.printf("%nNombre del conductor: %s",nombreCond);
 +
    }
 +
    public void imprimirNombreDoc(){
 +
        System.out.printf("%nNombre documento: %s",nombreDoc);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("\nNombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
 +
    }
 +
 +
    public String getNombreCond() {
 +
        return nombreCond;
 +
    }
 +
 +
    public final void setNombreCond(String nombreCond) {
 +
        this.nombreCond = nombreCond;
 +
    }
 +
 +
    public String getNombreDoc() {
 +
        return nombreDoc;
 +
    }
 +
 +
    public final void setNombreDoc(String nombreDoc) {
 +
        this.nombreDoc = nombreDoc;
 +
    }
 +
 +
    public byte getImportancia() {
 +
        return importancia;
 +
    }
 +
 +
    public void setImportancia(byte importancia) {
 +
        this.importancia = importancia;
 +
    }
 +
   
 +
}
 +
</syntaxhighlight>
 +
 +
'''Clase Furgoneta'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="13,30" >
 +
package programador.novato;
 +
 +
public class Furgoneta extends Vehiculo{
 +
   
 +
    private double dinero;
 +
    private byte numVigilantes;
 +
   
 +
    public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
 +
        super(matricula,marca,anoCompra);
 +
        setDinero(dinero);
 +
        setNumVigilantes(numVigilantes);
 +
       
 +
        calcularIngresos();
 +
    }
 +
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirDinero();
 +
        this.imprimirJurados();
 +
    }
 +
   
 +
    private void calcularIngresos(){
 +
        if (dinero < 100000){
 +
            setIngreso(10000);
 +
        }
 +
        else {
 +
            setIngreso(25000);
 +
        }
 +
        calcularIngresosTotal();
 +
    }
 +
   
 +
    public void imprimirDinero(){
 +
        System.out.printf("%nDinero: %,.2f",dinero);
 +
    }
 +
    public void imprimirJurados(){
 +
        System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
 +
    }
 +
   
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("\nDinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
 +
    }
 +
 +
    public double getDinero() {
 +
        return dinero;
 +
    }
 +
 +
    public final void setDinero(double dinero) {
 +
        this.dinero = dinero;
 +
    }
 +
 +
    public byte getNumVigilantes() {
 +
        return numVigilantes;
 +
    }
 +
 +
    public final void setNumVigilantes(byte numVigilantes) {
 +
        this.numVigilantes = numVigilantes;
 +
    }
 +
   
 +
}
 +
 +
</syntaxhighlight>
  
 
'''Clase Principal'''
 
'''Clase Principal'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="22" >
−
::</syntaxhighlight>
+
package programador.novato;
 +
 
 +
public class Principal {
 +
 +
    public static void main(String arg[]){
 +
        Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono",(byte)0);
 +
        Vehiculo.impNumVehiculos();
 +
        Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China",(byte)2);
 +
        Vehiculo.impNumVehiculos();
 +
 
 +
        Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
 +
        Vehiculo.impNumVehiculos();
 +
        Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,226030.72,(byte)1);
 +
        Vehiculo.impNumVehiculos();
 +
       
 +
        coche1.imprimirDatos();
 +
        furgoneta1.imprimirDatos();
 +
       
 +
        System.out.printf("\nCOCHE2:\n%s",coche2);
 +
        System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
 +
       
 +
        Vehiculo.imprimirIngresosTotal();
 +
    }
 +
   
 +
}
 +
 
 +
</syntaxhighlight>
 +
 
 +
 
 +
 
 +
<br />
 +
 
 +
=Solución Ejercicio 17=
 +
'''Clase Coche'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="4-6,25,28,31" >
 +
package programador.novato;
 +
 
 +
public class Coche extends Vehiculo{
 +
    private final int INGRESO_5000=5000;
 +
    private final int INGRESO_10000=10000;
 +
    private final int INGRESO_20000=20000;
 +
   
 +
    private String nombreCond;
 +
    private String nombreDoc;
 +
 
 +
    private byte importancia;
 +
   
 +
    public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc,byte importancia){
 +
        super(matricula,marca,anoCompra);
 +
        setNombreCond(nombreCond);
 +
        setNombreDoc(nombreDoc);
 +
        setImportancia(importancia);
 +
       
 +
        calcularIngresos();
 +
    }
 +
 
 +
    private void calcularIngresos(){
 +
        switch(importancia){
 +
            case 0:
 +
                setIngreso(INGRESO_5000);
 +
                break;
 +
            case 1:
 +
                setIngreso(INGRESO_10000);
 +
                break;
 +
            case 2:
 +
                setIngreso(INGRESO_20000);
 +
                break;
 +
        }
 +
        calcularIngresosTotal();
 +
    }
 +
   
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirNombreCond();
 +
        this.imprimirNombreDoc();
 +
    }
 +
   
 +
    public void imprimirNombreCond(){
 +
        System.out.printf("%nNombre del conductor: %s",nombreCond);
 +
    }
 +
    public void imprimirNombreDoc(){
 +
        System.out.printf("%nNombre documento: %s",nombreDoc);
 +
    }
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("\nNombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
 +
    }
 +
 
 +
    public String getNombreCond() {
 +
        return nombreCond;
 +
    }
 +
 
 +
    public final void setNombreCond(String nombreCond) {
 +
        this.nombreCond = nombreCond;
 +
    }
 +
 
 +
    public String getNombreDoc() {
 +
        return nombreDoc;
 +
    }
 +
 
 +
    public final void setNombreDoc(String nombreDoc) {
 +
        this.nombreDoc = nombreDoc;
 +
    }
 +
 
 +
    public byte getImportancia() {
 +
        return importancia;
 +
    }
 +
 
 +
    public void setImportancia(byte importancia) {
 +
        this.importancia = importancia;
 +
    }
 +
   
 +
}
 +
</syntaxhighlight>
 +
 
 +
 
 +
'''Clase Furgoneta'''
 +
::<syntaxhighlight lang="java" line enclose="div" highlight="5,6,28,31" >
 +
package programador.novato;
 +
 
 +
public class Furgoneta extends Vehiculo{
 +
   
 +
    private final int INGRESO_10000=10000;
 +
    private final int INGRESO_25000=25000;
 +
 
 +
    private double dinero;
 +
    private byte numVigilantes;
 +
   
 +
    public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
 +
        super(matricula,marca,anoCompra);
 +
        setDinero(dinero);
 +
        setNumVigilantes(numVigilantes);
 +
       
 +
        calcularIngresos();
 +
    }
 +
 
 +
    @Override
 +
    public void imprimirDatos(){
 +
        super.imprimirDatos();
 +
        this.imprimirDinero();
 +
        this.imprimirJurados();
 +
    }
 +
   
 +
    private void calcularIngresos(){
 +
        if (dinero < 100000){
 +
            setIngreso(INGRESO_10000);
 +
        }
 +
        else {
 +
            setIngreso(INGRESO_25000);
 +
        }
 +
        calcularIngresosTotal();
 +
    }
 +
   
 +
    public void imprimirDinero(){
 +
        System.out.printf("%nDinero: %,.2f",dinero);
 +
    }
 +
    public void imprimirJurados(){
 +
        System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
 +
    }
 +
   
 +
    @Override
 +
    public String toString(){
 +
       
 +
        return super.toString().concat(String.format("\nDinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
 +
    }
 +
 
 +
    public double getDinero() {
 +
        return dinero;
 +
    }
 +
 
 +
    public final void setDinero(double dinero) {
 +
        this.dinero = dinero;
 +
    }
  
 +
    public byte getNumVigilantes() {
 +
        return numVigilantes;
 +
    }
 +
 +
    public final void setNumVigilantes(byte numVigilantes) {
 +
        this.numVigilantes = numVigilantes;
 +
    }
 +
   
 +
}
 +
</syntaxhighlight>
  
  
  
 
<br />
 
<br />
−
=Solución Ejercicio 13=
+
 
−
'''Clase '''
+
=Solución Ejercicio 18=
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
'''Clase Coche, Clase Furgoneta, Clase Vehiculo'''
−
::</syntaxhighlight>
+
::<syntaxhighlight lang="java" line enclose="div" highlight="1" >
 +
package transportes;
 +
public class XXXXXX {
 +
.......
 +
 
 +
}
 +
</syntaxhighlight>
  
  
 
'''Clase Principal'''
 
'''Clase Principal'''
−
::<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
::<syntaxhighlight lang="java" line enclose="div" highlight="3-5" >
−
::</syntaxhighlight>
+
package programador.novato;
 +
 
 +
import transportes.Vehiculo;
 +
import transportes.Coche;
 +
import transportes.Furgoneta;
 +
 
 +
public class Principal {
 +
 
 +
  ................
 +
 
 +
}
 +
</syntaxhighlight>

Revisión actual del 17:24 22 nov 2017

Soluciones a los ejercicios del programador novato



Solución Ejercicio 1

Clase Vehiculo

1 package programador.novato;
2 
3 public class Vehiculo {
4     short anoCompra;
5     String matricula;
6     String marca;
7     
8 }
9 ::

Clase Principal:

 1 package programador.novato;
 2 
 3 /**
 4  *
 5  * @author clase
 6  */
 7 public class Principal {
 8  
 9     public static void main(String arg[]){
10         Vehiculo veh1 = new Vehiculo();
11         Vehiculo veh2 = new Vehiculo();
12         Vehiculo veh3 = new Vehiculo();
13         Vehiculo veh4 = new Vehiculo();
14         
15         veh1.anoCompra = 1999;
16         veh1.matricula = "C-1234-BZ";
17         veh1.marca = "Peugot";
18         
19         veh2.anoCompra = 1998;
20         veh2.matricula = "C-4325-AZ";
21         veh2.marca = "Fiat";
22 
23         veh3.anoCompra = 1996;
24         veh3.matricula = "C-2342-AF";
25         veh3.marca = "Opel";
26         
27         veh4.anoCompra = 2000;
28         veh4.matricula = "C-4232-CF";
29         veh4.marca = "Ford";
30     }
31     
32 }
33 ::


Solución Ejercicio 2

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4     short anoCompra;
 5     String matricula;
 6     String marca;
 7     
 8     public void imprimirMarca(){
 9         System.out.printf("%nMarca:%s",marca);
10     }
11     public void imprimirMatricula(){
12         System.out.printf("%nMatricula:%s",matricula);
13     }
14     public void imprimirAnoCompra(){
15         System.out.printf("%nAño de la compra:%d",anoCompra);
16     }
17 }
18 
19 ::

Clase Principal:

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Vehiculo veh1 = new Vehiculo();
 7         Vehiculo veh2 = new Vehiculo();
 8         Vehiculo veh3 = new Vehiculo();
 9         Vehiculo veh4 = new Vehiculo();
10         
11         veh1.anoCompra = 1999;
12         veh1.matricula = "C-1234-BZ";
13         veh1.marca = "Peugot";
14         
15         veh1.imprimirMatricula();
16         veh1.imprimirMarca();
17         veh1.imprimirAnoCompra();
18         
19         veh2.anoCompra = 1998;
20         veh2.matricula = "C-4325-AZ";
21         veh2.marca = "Fiat";
22 
23         veh2.imprimirMatricula();
24         veh2.imprimirMarca();
25         veh2.imprimirAnoCompra();
26 
27         veh3.anoCompra = 1996;
28         veh3.matricula = "C-2342-AF";
29         veh3.marca = "Opel";
30         
31         veh3.imprimirMatricula();
32         veh3.imprimirMarca();
33         veh3.imprimirAnoCompra();
34 
35         veh4.anoCompra = 2000;
36         veh4.matricula = "C-4232-CF";
37         veh4.marca = "Ford";
38 
39         veh4.imprimirMatricula();
40         veh4.imprimirMarca();
41         veh4.imprimirAnoCompra();
42 
43     }
44     
45 }
46 ::



Solución Ejercicio 3

Clase Furgoneta

 1 package programador.novato;
 2 
 3 
 4 public class Furgoneta extends Vehiculo{
 5     
 6     double dinero;
 7     byte numVigilantes;
 8     
 9     public void imprimirDinero(){
10         System.out.printf("%nDinero: %,.2f",dinero);
11     }
12     public void imprimirJurados(){
13         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
14     }
15     
16 }
17 
18 ::

Clase Principal:

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Vehiculo veh1 = new Vehiculo();
 7         Vehiculo veh2 = new Vehiculo();
 8         Furgoneta furgoneta1 = new Furgoneta();
 9         Furgoneta furgoneta2 = new Furgoneta();
10         
11         veh1.anoCompra = 1999;
12         veh1.matricula = "C-1234-BZ";
13         veh1.marca = "Peugot";
14         
15         veh1.imprimirMatricula();
16         veh1.imprimirMarca();
17         veh1.imprimirAnoCompra();
18         
19         veh2.anoCompra = 1998;
20         veh2.matricula = "C-4325-AZ";
21         veh2.marca = "Fiat";
22 
23         veh2.imprimirMatricula();
24         veh2.imprimirMarca();
25         veh2.imprimirAnoCompra();
26 
27         furgoneta1.anoCompra = 1996;
28         furgoneta1.matricula = "C-2342-AF";
29         furgoneta1.marca = "Opel";
30         furgoneta1.numVigilantes=3;
31         furgoneta1.dinero = 1000.22;
32                 
33         furgoneta1.imprimirMatricula();
34         furgoneta1.imprimirMarca();
35         furgoneta1.imprimirAnoCompra();
36         furgoneta1.imprimirJurados();
37         furgoneta1.imprimirDinero();
38                 
39         furgoneta2.anoCompra = 2000;
40         furgoneta2.matricula = "C-4232-CF";
41         furgoneta2.marca = "Ford";
42         furgoneta2.numVigilantes=1;
43         furgoneta2.dinero = 6030.72;
44 
45         furgoneta2.imprimirMatricula();
46         furgoneta2.imprimirMarca();
47         furgoneta2.imprimirAnoCompra();
48         furgoneta2.imprimirJurados();
49         furgoneta2.imprimirDinero();
50 
51     }
52     
53 }
54 ::



Solución Ejercicio 4

Clase Coche

 1 package programador.novato;
 2 
 3 
 4 public class Coche extends Vehiculo{
 5     
 6     String nombreCond;
 7     String nombreDoc;
 8     
 9     public void imprimirNombreCond(){
10         System.out.printf("%nNombre del conductor: %s",nombreCond);
11     }
12     public void imprimirNombreDoc(){
13         System.out.printf("%nNombre documento: %s",nombreDoc);
14     }
15     
16 }
17 
18 ::

Clase Principal:

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche();
 7         Coche coche2 = new Coche();
 8         Furgoneta furgoneta1 = new Furgoneta();
 9         Furgoneta furgoneta2 = new Furgoneta();
10         
11         coche1.anoCompra = 1999;
12         coche1.matricula = "C-1234-BZ";
13         coche1.marca = "Peugot";
14         coche1.nombreCond = "PEPE";
15         coche1.nombreDoc ="Documentos del Pentágono";
16         
17         
18         coche1.imprimirMatricula();
19         coche1.imprimirMarca();
20         coche1.imprimirAnoCompra();
21         coche1.imprimirNombreCond();
22         coche1.imprimirNombreDoc();
23         
24         coche2.anoCompra = 1998;
25         coche2.matricula = "C-4325-AZ";
26         coche2.marca = "Fiat";
27         coche2.nombreCond = "Luis el corredor";
28         coche2.nombreDoc ="Top Secret China";
29 
30         coche2.imprimirMatricula();
31         coche2.imprimirMarca();
32         coche2.imprimirAnoCompra();
33         coche2.imprimirNombreCond();
34         coche2.imprimirNombreDoc();
35 
36         furgoneta1.anoCompra = 1996;
37         furgoneta1.matricula = "C-2342-AF";
38         furgoneta1.marca = "Opel";
39         furgoneta1.numVigilantes=3;
40         furgoneta1.dinero = 1000.22;
41                 
42         furgoneta1.imprimirMatricula();
43         furgoneta1.imprimirMarca();
44         furgoneta1.imprimirAnoCompra();
45         furgoneta1.imprimirJurados();
46         furgoneta1.imprimirDinero();
47                 
48         furgoneta2.anoCompra = 2000;
49         furgoneta2.matricula = "C-4232-CF";
50         furgoneta2.marca = "Ford";
51         furgoneta2.numVigilantes=1;
52         furgoneta2.dinero = 6030.72;
53 
54         furgoneta2.imprimirMatricula();
55         furgoneta2.imprimirMarca();
56         furgoneta2.imprimirAnoCompra();
57         furgoneta2.imprimirJurados();
58         furgoneta2.imprimirDinero();
59 
60     }
61     
62 }
63 
64 ::



Solución Ejercicio 5

Clase Coche

 1 package programador.novato;
 2 
 3 
 4 public class Coche extends Vehiculo{
 5     
 6     String nombreCond;
 7     String nombreDoc;
 8     
 9     public Coche(String param1,String param2,short param3,String param4,String param5){
10         this.matricula = param1;
11         this.marca = param2;
12         this.anoCompra = param3;
13         this.nombreCond = param4;
14         this.nombreDoc = param5;
15     }
16     
17     public void imprimirNombreCond(){
18         System.out.printf("%nNombre del conductor: %s",nombreCond);
19     }
20     public void imprimirNombreDoc(){
21         System.out.printf("%nNombre documento: %s",nombreDoc);
22     }
23     
24 }
25 
26 ::


Clase Furgoneta

 1 package programador.novato;
 2 
 3 
 4 public class Furgoneta extends Vehiculo{
 5     
 6     double dinero;
 7     byte numVigilantes;
 8     
 9     public Furgoneta(String param1,String param2,short param3,double param4,byte param5){
10         this.matricula = param1;
11         this.marca = param2;
12         this.anoCompra = param3;
13         this.dinero = param4;
14         this.numVigilantes = param5;
15     }
16 
17     
18     public void imprimirDinero(){
19         System.out.printf("%nDinero: %,.2f",dinero);
20     }
21     public void imprimirJurados(){
22         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
23     }
24     
25 }
26 
27 ::


Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 7         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 8 
 9         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
10         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
11         
12         coche1.imprimirMatricula();
13         coche1.imprimirMarca();
14         coche1.imprimirAnoCompra();
15         coche1.imprimirNombreCond();
16         coche1.imprimirNombreDoc();
17         
18 
19         coche2.imprimirMatricula();
20         coche2.imprimirMarca();
21         coche2.imprimirAnoCompra();
22         coche2.imprimirNombreCond();
23         coche2.imprimirNombreDoc();
24 
25                 
26         furgoneta1.imprimirMatricula();
27         furgoneta1.imprimirMarca();
28         furgoneta1.imprimirAnoCompra();
29         furgoneta1.imprimirJurados();
30         furgoneta1.imprimirDinero();
31                 
32         furgoneta2.imprimirMatricula();
33         furgoneta2.imprimirMarca();
34         furgoneta2.imprimirAnoCompra();
35         furgoneta2.imprimirJurados();
36         furgoneta2.imprimirDinero();
37 
38     }
39     
40 }
41 
42 ::




Solución Ejercicio 6

Solución Ejercicio 7

Clase Coche

 1 package programador.novato;
 2 
 3 
 4 public class Coche extends Vehiculo{
 5     
 6     String nombreCond;
 7     String nombreDoc;
 8     
 9     public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc){
10         super(matricula,marca,anoCompra);
11         this.nombreCond = nombreCond;
12         this.nombreDoc = nombreDoc;
13     }
14     
15     public void imprimirNombreCond(){
16         System.out.printf("%nNombre del conductor: %s",nombreCond);
17     }
18     public void imprimirNombreDoc(){
19         System.out.printf("%nNombre documento: %s",nombreDoc);
20     }
21     
22 }
23 
24 ::


Clase Furgoneta

 1 package programador.novato;
 2 
 3 
 4 public class Furgoneta extends Vehiculo{
 5     
 6     double dinero;
 7     byte numVigilantes;
 8 
 9     public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
10         super(matricula,marca,anoCompra);
11         this.dinero = dinero;
12         this.numVigilantes = numVigilantes;
13     }
14 
15     
16     public void imprimirDinero(){
17         System.out.printf("%nDinero: %,.2f",dinero);
18     }
19     public void imprimirJurados(){
20         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
21     }
22     
23 }
24 
25 ::


Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4     String matricula;
 5     String marca;
 6     short anoCompra;
 7 
 8     public Vehiculo(String matricula,String marca,short anoCompra){
 9         this.matricula = matricula;
10         this.marca = marca;
11         this.anoCompra = anoCompra;
12     }
13     
14     public void imprimirMarca(){
15         System.out.printf("%nMarca:%s",marca);
16     }
17     public void imprimirMatricula(){
18         System.out.printf("%nMatricula:%s",matricula);
19     }
20     public void imprimirAnoCompra(){
21         System.out.printf("%nAño de la compra:%s",anoCompra);
22     }
23 }
24 
25 ::


Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 7         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 8 
 9         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
10         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
11         
12         coche1.imprimirMatricula();
13         coche1.imprimirMarca();
14         coche1.imprimirAnoCompra();
15         coche1.imprimirNombreCond();
16         coche1.imprimirNombreDoc();
17         
18 
19         coche2.imprimirMatricula();
20         coche2.imprimirMarca();
21         coche2.imprimirAnoCompra();
22         coche2.imprimirNombreCond();
23         coche2.imprimirNombreDoc();
24 
25                 
26         furgoneta1.imprimirMatricula();
27         furgoneta1.imprimirMarca();
28         furgoneta1.imprimirAnoCompra();
29         furgoneta1.imprimirJurados();
30         furgoneta1.imprimirDinero();
31                 
32         furgoneta2.imprimirMatricula();
33         furgoneta2.imprimirMarca();
34         furgoneta2.imprimirAnoCompra();
35         furgoneta2.imprimirJurados();
36         furgoneta2.imprimirDinero();
37 
38     }
39     
40 }
41 
42 ::




Solución Ejercicio 7B

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4     String matricula;
 5     String marca;
 6     short anoCompra;
 7 
 8     public Vehiculo(String matricula,String marca,short anoCompra){
 9         this.matricula = matricula;
10         this.marca = marca;
11         this.anoCompra = anoCompra;
12     }
13     
14     public void imprimirDatos(){
15         this.imprimirMatricula();
16         this.imprimirMarca();
17         this.imprimirAnoCompra();
18     }
19     
20     public void imprimirMarca(){
21         System.out.printf("%nMarca:%s",marca);
22     }
23     public void imprimirMatricula(){
24         System.out.printf("%nMatricula:%s",matricula);
25     }
26     public void imprimirAnoCompra(){
27         System.out.printf("%nAño de la compra:%s",anoCompra);
28     }
29 }
30 
31 ::

Clase Coche

 1 package programador.novato;
 2 
 3 public class Coche extends Vehiculo{
 4     
 5     String nombreCond;
 6     String nombreDoc;
 7     
 8     public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc){
 9         super(matricula,marca,anoCompra);
10         this.nombreCond = nombreCond;
11         this.nombreDoc = nombreDoc;
12     }
13 
14     @Override
15     public void imprimirDatos(){
16         super.imprimirDatos();
17         this.imprimirNombreCond();
18         this.imprimirNombreDoc();
19     }
20     
21     public void imprimirNombreCond(){
22         System.out.printf("%nNombre del conductor: %s",nombreCond);
23     }
24     public void imprimirNombreDoc(){
25         System.out.printf("%nNombre documento: %s",nombreDoc);
26     }
27     
28 }
29 
30 ::


Clase Furgoneta

 1 package programador.novato;
 2 
 3 public class Furgoneta extends Vehiculo{
 4     
 5     double dinero;
 6     byte numVigilantes;
 7 
 8     public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
 9         super(matricula,marca,anoCompra);
10         this.dinero = dinero;
11         this.numVigilantes = numVigilantes;
12     }
13 
14     @Override
15     public void imprimirDatos(){
16         super.imprimirDatos();
17         this.imprimirDinero();
18         this.imprimirJurados();
19     }
20     
21     public void imprimirDinero(){
22         System.out.printf("%nDinero: %,.2f",dinero);
23     }
24     public void imprimirJurados(){
25         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
26     }
27     
28 }
29 ::

Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 7         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 8 
 9         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
10         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
11         
12         System.out.println("\n\nIMPRIMIENDO TODO JUNTO:");
13 
14         coche1.imprimirDatos();
15         coche2.imprimirDatos();
16         furgoneta1.imprimirDatos();
17         furgoneta2.imprimirDatos();
18     }
19     
20 }
21 ::



Solución Ejercicio 7C

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4     String matricula;
 5     String marca;
 6     short anoCompra;
 7 
 8     public Vehiculo(String matricula,String marca,short anoCompra){
 9         this.matricula = matricula;
10         this.marca = marca;
11         this.anoCompra = anoCompra;
12     }
13     
14     public void imprimirDatos(){
15         this.imprimirMatricula();
16         this.imprimirMarca();
17         this.imprimirAnoCompra();
18     }
19     
20     public void imprimirMarca(){
21         System.out.printf("%nMarca:%s",marca);
22     }
23     public void imprimirMatricula(){
24         System.out.printf("%nMatricula:%s",matricula);
25     }
26     public void imprimirAnoCompra(){
27         System.out.printf("%nAño de la compra:%s",anoCompra);
28     }
29     @Override
30     public String toString(){
31         
32         return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
33     }
34     
35 }
36 
37 ::

Clase Coche

 1 package programador.novato;
 2 
 3 
 4 public class Coche extends Vehiculo{
 5     
 6     String nombreCond;
 7     String nombreDoc;
 8     
 9     public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc){
10         super(matricula,marca,anoCompra);
11         this.nombreCond = nombreCond;
12         this.nombreDoc = nombreDoc;
13     }
14 
15     @Override
16     public void imprimirDatos(){
17         super.imprimirDatos();
18         this.imprimirNombreCond();
19         this.imprimirNombreDoc();
20     }
21     
22     public void imprimirNombreCond(){
23         System.out.printf("%nNombre del conductor: %s",nombreCond);
24     }
25     public void imprimirNombreDoc(){
26         System.out.printf("%nNombre documento: %s",nombreDoc);
27     }
28     @Override
29     public String toString(){
30         
31         return super.toString().concat(String.format("Nombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
32     }
33     
34 }
35 ::

Clase Furgoneta

 1 package programador.novato;
 2 
 3 
 4 public class Furgoneta extends Vehiculo{
 5     
 6     double dinero;
 7     byte numVigilantes;
 8 
 9     public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
10         super(matricula,marca,anoCompra);
11         this.dinero = dinero;
12         this.numVigilantes = numVigilantes;
13     }
14 
15     @Override
16     public void imprimirDatos(){
17         super.imprimirDatos();
18         this.imprimirDinero();
19         this.imprimirJurados();
20     }
21     
22     public void imprimirDinero(){
23         System.out.printf("%nDinero: %,.2f",dinero);
24     }
25     public void imprimirJurados(){
26         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
27     }
28     
29     @Override
30     public String toString(){
31         
32         return super.toString().concat(String.format("Dinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
33     }
34     
35 }
36 ::


Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 7         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 8 
 9         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
10         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
11         
12 
13         System.out.println("\n\nIMPRIMIENDO TODO JUNTO:");
14         coche1.imprimirDatos();
15         furgoneta1.imprimirDatos();
16         
17         System.out.printf("\nCOCHE2:\n%s",coche2);
18         System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
19         
20     }
21     
22 }
23 ::



Solución Ejercicio 8

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4     String matricula;
 5     String marca;
 6     short anoCompra;
 7     
 8     static int numVehiculos;
 9 
10     public Vehiculo(String matricula,String marca,short anoCompra){
11         this.matricula = matricula;
12         this.marca = marca;
13         this.anoCompra = anoCompra;
14     }
15     
16     public void impNumVehiculos(){
17         System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
18     }
19     
20     public void imprimirDatos(){
21         this.imprimirMatricula();
22         this.imprimirMarca();
23         this.imprimirAnoCompra();
24     }
25     
26     public void imprimirMarca(){
27         System.out.printf("%nMarca:%s",marca);
28     }
29     public void imprimirMatricula(){
30         System.out.printf("%nMatricula:%s",matricula);
31     }
32     public void imprimirAnoCompra(){
33         System.out.printf("%nAño de la compra:%s",anoCompra);
34     }
35     @Override
36     public String toString(){
37         
38         return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
39     }
40     
41 }
42 
43 ::


Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 7         Coche.numVehiculos++;
 8         coche1.impNumVehiculos();
 9         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
10         Coche.numVehiculos++;
11         coche2.impNumVehiculos();
12 
13         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
14         Furgoneta.numVehiculos++;
15         furgoneta1.impNumVehiculos();
16         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
17         Furgoneta.numVehiculos++;
18         furgoneta2.impNumVehiculos();
19         
20 
21         coche1.imprimirDatos();
22         furgoneta1.imprimirDatos();
23         
24         System.out.printf("\nCOCHE2:\n%s",coche2);
25         System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
26         
27     }
28     
29 }
30 
31 ::




Solución Ejercicio 9

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4     String matricula;
 5     String marca;
 6     short anoCompra;
 7     
 8     static int numVehiculos;
 9 
10     public Vehiculo(String matricula,String marca,short anoCompra){
11         this.matricula = matricula;
12         this.marca = marca;
13         this.anoCompra = anoCompra;
14         
15         numVehiculos++;
16     }
17     
18     public void impNumVehiculos(){
19         System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
20     }
21     
22     public void imprimirDatos(){
23         this.imprimirMatricula();
24         this.imprimirMarca();
25         this.imprimirAnoCompra();
26     }
27     
28     public void imprimirMarca(){
29         System.out.printf("%nMarca:%s",marca);
30     }
31     public void imprimirMatricula(){
32         System.out.printf("%nMatricula:%s",matricula);
33     }
34     public void imprimirAnoCompra(){
35         System.out.printf("%nAño de la compra:%s",anoCompra);
36     }
37     @Override
38     public String toString(){
39         
40         return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
41     }
42     
43 }
44 ::


Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 7         coche1.impNumVehiculos();
 8         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 9         coche2.impNumVehiculos();
10 
11         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
12         furgoneta1.impNumVehiculos();
13         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
14         furgoneta2.impNumVehiculos();
15         
16 
17         coche1.imprimirDatos();
18         furgoneta1.imprimirDatos();
19         
20         System.out.printf("\nCOCHE2:\n%s",coche2);
21         System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
22         
23     }
24     
25 }
26 
27 ::




Solución Ejercicio 10

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4     String matricula;
 5     String marca;
 6     short anoCompra;
 7     
 8     static int numVehiculos;
 9 
10     public Vehiculo(String matricula,String marca,short anoCompra){
11         this.matricula = matricula;
12         this.marca = marca;
13         this.anoCompra = anoCompra;
14         
15         numVehiculos++;
16     }
17     
18     public static void impNumVehiculos(){
19         System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
20     }
21     
22     public void imprimirDatos(){
23         this.imprimirMatricula();
24         this.imprimirMarca();
25         this.imprimirAnoCompra();
26     }
27     
28     public void imprimirMarca(){
29         System.out.printf("%nMarca:%s",marca);
30     }
31     public void imprimirMatricula(){
32         System.out.printf("%nMatricula:%s",matricula);
33     }
34     public void imprimirAnoCompra(){
35         System.out.printf("%nAño de la compra:%s",anoCompra);
36     }
37     @Override
38     public String toString(){
39         
40         return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
41     }
42     
43 }
44 ::


Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono");
 7         Vehiculo.impNumVehiculos();
 8         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China");
 9         Vehiculo.impNumVehiculos();
10 
11         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
12         Vehiculo.impNumVehiculos();
13         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,6030.72,(byte)1);
14         Vehiculo.impNumVehiculos();
15         
16 
17         coche1.imprimirDatos();
18         furgoneta1.imprimirDatos();
19         
20         System.out.printf("\nCOCHE2:\n%s",coche2);
21         System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
22         
23     }
24     
25 }
26 
27 ::




Solución Ejercicio 13

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4 
 5     private String matricula;
 6     private String marca;
 7     private short anoCompra;
 8     
 9     private static int numVehiculos;
10 
11     public Vehiculo(String matricula,String marca,short anoCompra){
12         setMatricula(matricula);
13         setMarca(marca);
14         setAnoCompra(anoCompra);
15         
16         numVehiculos++;
17     }
18     
19     public static void impNumVehiculos(){
20         System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
21     }
22     
23     public void imprimirDatos(){
24         this.imprimirMatricula();
25         this.imprimirMarca();
26         this.imprimirAnoCompra();
27     }
28     
29     public void imprimirMarca(){
30         System.out.printf("%nMarca:%s",marca);
31     }
32     public void imprimirMatricula(){
33         System.out.printf("%nMatricula:%s",matricula);
34     }
35     public void imprimirAnoCompra(){
36         System.out.printf("%nAño de la compra:%s",anoCompra);
37     }
38     @Override
39     public String toString(){
40         
41         return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s",matricula,marca,anoCompra);
42     }
43 
44     public String getMatricula() {
45         return matricula;
46     }
47 
48     public final void setMatricula(String matricula) {  // Se pone final para que pueda llamarse desde el constructor
49         this.matricula = matricula;
50     }
51 
52     public String getMarca() {
53         return marca;
54     }
55 
56     public final void setMarca(String marca) {  // Se pone final para que pueda llamarse desde el constructor
57         this.marca = marca;
58     }
59 
60     public short getAnoCompra() {
61         return anoCompra;
62     }
63 
64     public final void setAnoCompra(short anoCompra) {  // Se pone final para que pueda llamarse desde el constructor
65         this.anoCompra = anoCompra;
66     }
67     
68 }
69 ::

Clase Furgoneta

 1 package programador.novato;
 2 
 3 
 4 public class Furgoneta extends Vehiculo{
 5     
 6     private double dinero;
 7     private byte numVigilantes;
 8     
 9     public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
10         super(matricula,marca,anoCompra);
11         setDinero(dinero);
12         setNumVigilantes(numVigilantes);
13     }
14 
15     @Override
16     public void imprimirDatos(){
17         super.imprimirDatos();
18         this.imprimirDinero();
19         this.imprimirJurados();
20     }
21     
22     public void imprimirDinero(){
23         System.out.printf("%nDinero: %,.2f",dinero);
24     }
25     public void imprimirJurados(){
26         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
27     }
28     
29     @Override
30     public String toString(){
31         
32         return super.toString().concat(String.format("Dinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
33     }
34 
35     public double getDinero() {
36         return dinero;
37     }
38 
39     public final void setDinero(double dinero) {
40         this.dinero = dinero;
41     }
42 
43     public byte getNumVigilantes() {
44         return numVigilantes;
45     }
46 
47     public final void setNumVigilantes(byte numVigilantes) {
48         this.numVigilantes = numVigilantes;
49     }
50     
51 }
52 ::

Clase Coche

 1 package programador.novato;
 2 
 3 
 4 public class Coche extends Vehiculo{
 5     
 6     private String nombreCond;
 7     private String nombreDoc;
 8     
 9     public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc){
10         super(matricula,marca,anoCompra);
11         setNombreCond(nombreCond);
12         setNombreDoc(nombreDoc);
13     }
14 
15     @Override
16     public void imprimirDatos(){
17         super.imprimirDatos();
18         this.imprimirNombreCond();
19         this.imprimirNombreDoc();
20     }
21     
22     public void imprimirNombreCond(){
23         System.out.printf("%nNombre del conductor: %s",nombreCond);
24     }
25     public void imprimirNombreDoc(){
26         System.out.printf("%nNombre documento: %s",nombreDoc);
27     }
28     @Override
29     public String toString(){
30         
31         return super.toString().concat(String.format("Nombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
32     }
33 
34     public String getNombreCond() {
35         return nombreCond;
36     }
37 
38     public final void setNombreCond(String nombreCond) {
39         this.nombreCond = nombreCond;
40     }
41 
42     public String getNombreDoc() {
43         return nombreDoc;
44     }
45 
46     public final void setNombreDoc(String nombreDoc) {
47         this.nombreDoc = nombreDoc;
48     }
49     
50 }
51 ::




Solución Ejercicio 14

Clase Furgoneta

 1 package programador.novato;
 2 
 3 
 4 public class Furgoneta extends Vehiculo{
 5     
 6     private double dinero;
 7     private byte numVigilantes;
 8     
 9     public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
10         super(matricula,marca,anoCompra);
11         setDinero(dinero);
12         setNumVigilantes(numVigilantes);
13 
14     }
15 
16     @Override
17     public void imprimirDatos(){
18         super.imprimirDatos();
19         this.imprimirDinero();
20         this.imprimirJurados();
21     }
22     
23     public void calcularIngresos(){
24         if (dinero < 100000){
25             ingreso = 10000;
26         }
27         else {
28             ingreso = 25000;
29         }
30     }
31     
32     public void imprimirDinero(){
33         System.out.printf("%nDinero: %,.2f",dinero);
34     }
35     public void imprimirJurados(){
36         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
37     }
38     
39     @Override
40     public String toString(){
41         
42         return super.toString().concat(String.format("\nDinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
43     }
44 
45     public double getDinero() {
46         return dinero;
47     }
48 
49     public final void setDinero(double dinero) {
50         this.dinero = dinero;
51     }
52 
53     public byte getNumVigilantes() {
54         return numVigilantes;
55     }
56 
57     public final void setNumVigilantes(byte numVigilantes) {
58         this.numVigilantes = numVigilantes;
59     }
60     
61 }

Clase Coche

 1 package programador.novato;
 2 
 3 public final class Coche extends Vehiculo{
 4     
 5     private String nombreCond;
 6     private String nombreDoc;
 7 
 8     byte importancia;
 9     
10     public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc,byte importancia){
11         super(matricula,marca,anoCompra);
12         setNombreCond(nombreCond);
13         setNombreDoc(nombreDoc);
14         setImportancia(importancia);
15         
16     }
17 
18     public void calcularIngresos(){
19         switch(importancia){
20             case 0:
21                 ingreso = 5000;
22                 break;
23             case 1:
24                 ingreso = 10000;
25                 break;
26             case 2:
27                 ingreso = 20000;
28                 break;
29         }
30     }
31     
32     @Override
33     public void imprimirDatos(){
34         super.imprimirDatos();
35         this.imprimirNombreCond();
36         this.imprimirNombreDoc();
37     }
38     
39     public void imprimirNombreCond(){
40         System.out.printf("%nNombre del conductor: %s",nombreCond);
41     }
42     public void imprimirNombreDoc(){
43         System.out.printf("%nNombre documento: %s",nombreDoc);
44     }
45     @Override
46     public String toString(){
47         
48         return super.toString().concat(String.format("\nNombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
49     }
50 
51     public String getNombreCond() {
52         return nombreCond;
53     }
54 
55     public final void setNombreCond(String nombreCond) {
56         this.nombreCond = nombreCond;
57     }
58 
59     public String getNombreDoc() {
60         return nombreDoc;
61     }
62 
63     public final void setNombreDoc(String nombreDoc) {
64         this.nombreDoc = nombreDoc;
65     }
66 
67     public byte getImportancia() {
68         return importancia;
69     }
70 
71     public void setImportancia(byte importancia) {
72         this.importancia = importancia;
73     }
74     
75 }


Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4 
 5     private String matricula;
 6     private String marca;
 7     private short anoCompra;
 8     double ingreso;
 9 
10         
11     private static int numVehiculos;
12 
13     public Vehiculo(String matricula,String marca,short anoCompra){
14         setMatricula(matricula);
15         setMarca(marca);
16         setAnoCompra(anoCompra);
17         
18         numVehiculos++;
19     }
20     
21     public void imprimirIngresos(){
22         System.out.printf("%nIngresos:%.2f",ingreso);
23     }
24     
25     public static void impNumVehiculos(){
26         System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
27     }
28     
29     public void imprimirDatos(){
30         this.imprimirMatricula();
31         this.imprimirMarca();
32         this.imprimirAnoCompra();
33         this.imprimirIngresos();
34     }
35     
36     public void imprimirMarca(){
37         System.out.printf("%nMarca:%s",marca);
38     }
39     public void imprimirMatricula(){
40         System.out.printf("%nMatricula:%s",matricula);
41     }
42     public void imprimirAnoCompra(){
43         System.out.printf("%nAño de la compra:%s",anoCompra);
44     }
45     @Override
46     public String toString(){
47         
48         return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s\nIngresos:%.2f",matricula,marca,anoCompra,ingreso);
49     }
50 
51     public String getMatricula() {
52         return matricula;
53     }
54 
55     public final void setMatricula(String matricula) {  // Se pone final para que pueda llamarse desde el constructor
56         this.matricula = matricula;
57     }
58 
59     public String getMarca() {
60         return marca;
61     }
62 
63     public final void setMarca(String marca) {  // Se pone final para que pueda llamarse desde el constructor
64         this.marca = marca;
65     }
66 
67     public short getAnoCompra() {
68         return anoCompra;
69     }
70 
71     public final void setAnoCompra(short anoCompra) {  // Se pone final para que pueda llamarse desde el constructor
72         this.anoCompra = anoCompra;
73     }
74     
75 }

Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono",(byte)0);
 7         coche1.calcularIngresos();
 8         Vehiculo.impNumVehiculos();
 9         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China",(byte)2);
10         coche2.calcularIngresos();
11         Vehiculo.impNumVehiculos();
12 
13         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
14         furgoneta1.calcularIngresos();
15         Vehiculo.impNumVehiculos();
16         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,226030.72,(byte)1);
17         furgoneta2.calcularIngresos();
18         Vehiculo.impNumVehiculos();
19         
20         coche1.imprimirDatos();
21         furgoneta1.imprimirDatos();
22         
23         System.out.printf("\nCOCHE2:\n%s",coche2);
24         System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
25         
26     }
27     
28 }




Solución Ejercicio 15

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4 
 5     private String matricula;
 6     private String marca;
 7     private short anoCompra;
 8     double ingreso;
 9     
10     static double ingresosTotal;
11     private static int numVehiculos;
12 
13         
14 
15     public Vehiculo(String matricula,String marca,short anoCompra){
16         setMatricula(matricula);
17         setMarca(marca);
18         setAnoCompra(anoCompra);
19         
20         numVehiculos++;
21     }
22     
23     public void calcularIngresosTotal(){
24         ingresosTotal += ingreso;
25     }
26     
27     public static void imprimirIngresosTotal(){
28         System.out.printf("%nIngresos TOTALES:%.2f",ingresosTotal);
29     }
30 
31     public void imprimirIngresos(){
32         System.out.printf("%nIngresos:%.2f",ingreso);
33     }
34     
35     public static void impNumVehiculos(){
36         System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
37     }
38     
39     public void imprimirDatos(){
40         this.imprimirMatricula();
41         this.imprimirMarca();
42         this.imprimirAnoCompra();
43         this.imprimirIngresos();
44     }
45     
46     public void imprimirMarca(){
47         System.out.printf("%nMarca:%s",marca);
48     }
49     public void imprimirMatricula(){
50         System.out.printf("%nMatricula:%s",matricula);
51     }
52     public void imprimirAnoCompra(){
53         System.out.printf("%nAño de la compra:%s",anoCompra);
54     }
55     @Override
56     public String toString(){
57         
58         return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s\nIngresos:%.2f",matricula,marca,anoCompra,ingreso);
59     }
60 
61     public String getMatricula() {
62         return matricula;
63     }
64 
65     public final void setMatricula(String matricula) {  // Se pone final para que pueda llamarse desde el constructor
66         this.matricula = matricula;
67     }
68 
69     public String getMarca() {
70         return marca;
71     }
72 
73     public final void setMarca(String marca) {  // Se pone final para que pueda llamarse desde el constructor
74         this.marca = marca;
75     }
76 
77     public short getAnoCompra() {
78         return anoCompra;
79     }
80 
81     public final void setAnoCompra(short anoCompra) {  // Se pone final para que pueda llamarse desde el constructor
82         this.anoCompra = anoCompra;
83     }
84 
85     public double getIngreso() {
86         return ingreso;
87     }
88 
89     public void setIngreso(double ingreso) {
90         this.ingreso = ingreso;
91     }
92     
93 }


Clase Furgoneta

 1 package programador.novato;
 2 
 3 public class Furgoneta extends Vehiculo{
 4     
 5     private double dinero;
 6     private byte numVigilantes;
 7     
 8     public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
 9         super(matricula,marca,anoCompra);
10         setDinero(dinero);
11         setNumVigilantes(numVigilantes);
12 
13     }
14 
15     @Override
16     public void imprimirDatos(){
17         super.imprimirDatos();
18         this.imprimirDinero();
19         this.imprimirJurados();
20     }
21     
22     public void calcularIngresos(){
23         if (dinero < 100000){
24             setIngreso(10000);
25         }
26         else {
27             setIngreso(25000);
28         }
29         calcularIngresosTotal();
30     }
31     
32     public void imprimirDinero(){
33         System.out.printf("%nDinero: %,.2f",dinero);
34     }
35     public void imprimirJurados(){
36         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
37     }
38     
39     @Override
40     public String toString(){
41         
42         return super.toString().concat(String.format("\nDinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
43     }
44 
45     public double getDinero() {
46         return dinero;
47     }
48 
49     public final void setDinero(double dinero) {
50         this.dinero = dinero;
51     }
52 
53     public byte getNumVigilantes() {
54         return numVigilantes;
55     }
56 
57     public final void setNumVigilantes(byte numVigilantes) {
58         this.numVigilantes = numVigilantes;
59     }
60     
61 }


Clase Coche

 1 package programador.novato;
 2 
 3 public final class Coche extends Vehiculo{
 4     
 5     private String nombreCond;
 6     private String nombreDoc;
 7 
 8     byte importancia;
 9     
10     public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc,byte importancia){
11         super(matricula,marca,anoCompra);
12         setNombreCond(nombreCond);
13         setNombreDoc(nombreDoc);
14         setImportancia(importancia);
15 
16         
17     }
18 
19     public void calcularIngresos(){
20         switch(importancia){
21             case 0:
22                 setIngreso(5000);
23                 break;
24             case 1:
25                 setIngreso(10000);
26                 break;
27             case 2:
28                 setIngreso(20000);
29                 break;
30         }
31         calcularIngresosTotal();
32     }
33     
34     @Override
35     public void imprimirDatos(){
36         super.imprimirDatos();
37         this.imprimirNombreCond();
38         this.imprimirNombreDoc();
39     }
40     
41     public void imprimirNombreCond(){
42         System.out.printf("%nNombre del conductor: %s",nombreCond);
43     }
44     public void imprimirNombreDoc(){
45         System.out.printf("%nNombre documento: %s",nombreDoc);
46     }
47     @Override
48     public String toString(){
49         
50         return super.toString().concat(String.format("\nNombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
51     }
52 
53     public String getNombreCond() {
54         return nombreCond;
55     }
56 
57     public final void setNombreCond(String nombreCond) {
58         this.nombreCond = nombreCond;
59     }
60 
61     public String getNombreDoc() {
62         return nombreDoc;
63     }
64 
65     public final void setNombreDoc(String nombreDoc) {
66         this.nombreDoc = nombreDoc;
67     }
68 
69     public byte getImportancia() {
70         return importancia;
71     }
72 
73     public void setImportancia(byte importancia) {
74         this.importancia = importancia;
75     }
76     
77 }


Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono",(byte)0);
 7         coche1.calcularIngresos(); 
 8         Vehiculo.impNumVehiculos();
 9         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China",(byte)2);
10         coche2.calcularIngresos(); 
11         Vehiculo.impNumVehiculos();
12 
13         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
14         furgoneta1.calcularIngresos(); 
15         Vehiculo.impNumVehiculos();
16         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,226030.72,(byte)1);
17         furgoneta2.calcularIngresos(); 
18         Vehiculo.impNumVehiculos();
19         
20         coche1.imprimirDatos();
21         furgoneta1.imprimirDatos();
22         
23         System.out.printf("\nCOCHE2:\n%s",coche2);
24         System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
25         
26         Vehiculo.imprimirIngresosTotal();
27     }
28     
29 }



Solución Ejercicio 16

Clase Vehiculo

 1 package programador.novato;
 2 
 3 public class Vehiculo {
 4 
 5     private String matricula;
 6     private String marca;
 7     private short anoCompra;
 8     private double ingreso;
 9     
10     private static double ingresosTotal;
11     private static int numVehiculos;
12 
13         
14 
15     public Vehiculo(String matricula,String marca,short anoCompra){
16         setMatricula(matricula);
17         setMarca(marca);
18         setAnoCompra(anoCompra);
19         
20         numVehiculos++;
21     }
22     
23     protected void calcularIngresosTotal(){
24         ingresosTotal += ingreso;
25     }
26     
27     public static void imprimirIngresosTotal(){
28         System.out.printf("%nIngresos TOTALES:%.2f",ingresosTotal);
29     }
30 
31     public void imprimirIngresos(){
32         System.out.printf("%nIngresos:%.2f",ingreso);
33     }
34     
35     public static void impNumVehiculos(){
36         System.out.printf("%nNúmer de vehiculos:%d",numVehiculos);
37     }
38     
39     public void imprimirDatos(){
40         this.imprimirMatricula();
41         this.imprimirMarca();
42         this.imprimirAnoCompra();
43         this.imprimirIngresos();
44     }
45     
46     public void imprimirMarca(){
47         System.out.printf("%nMarca:%s",marca);
48     }
49     public void imprimirMatricula(){
50         System.out.printf("%nMatricula:%s",matricula);
51     }
52     public void imprimirAnoCompra(){
53         System.out.printf("%nAño de la compra:%s",anoCompra);
54     }
55     @Override
56     public String toString(){
57         
58         return String.format("Matricula:%s\nMarca:%s\nAno Compra:%s\nIngresos:%.2f",matricula,marca,anoCompra,ingreso);
59     }
60 
61     public String getMatricula() {
62         return matricula;
63     }
64 
65     public final void setMatricula(String matricula) {  // Se pone final para que pueda llamarse desde el constructor
66         this.matricula = matricula;
67     }
68 
69     public String getMarca() {
70         return marca;
71     }
72 
73     public final void setMarca(String marca) {  // Se pone final para que pueda llamarse desde el constructor
74         this.marca = marca;
75     }
76 
77     public short getAnoCompra() {
78         return anoCompra;
79     }
80 
81     public final void setAnoCompra(short anoCompra) {  // Se pone final para que pueda llamarse desde el constructor
82         this.anoCompra = anoCompra;
83     }
84 
85     public double getIngreso() {
86         return ingreso;
87     }
88 
89     public void setIngreso(double ingreso) {
90         this.ingreso = ingreso;
91     }
92     
93 }

Clase Coche

 1 package programador.novato;
 2 
 3 public final class Coche extends Vehiculo{
 4     
 5     private String nombreCond;
 6     private String nombreDoc;
 7 
 8     private byte importancia;
 9     
10     public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc,byte importancia){
11         super(matricula,marca,anoCompra);
12         setNombreCond(nombreCond);
13         setNombreDoc(nombreDoc);
14         setImportancia(importancia);
15         
16         calcularIngresos();
17     }
18 
19     private void calcularIngresos(){
20         switch(importancia){
21             case 0:
22                 setIngreso(5000);
23                 break;
24             case 1:
25                 setIngreso(10000);
26                 break;
27             case 2:
28                 setIngreso(20000);
29                 break;
30         }
31         calcularIngresosTotal();
32     }
33     
34     @Override
35     public void imprimirDatos(){
36         super.imprimirDatos();
37         this.imprimirNombreCond();
38         this.imprimirNombreDoc();
39     }
40     
41     public void imprimirNombreCond(){
42         System.out.printf("%nNombre del conductor: %s",nombreCond);
43     }
44     public void imprimirNombreDoc(){
45         System.out.printf("%nNombre documento: %s",nombreDoc);
46     }
47     @Override
48     public String toString(){
49         
50         return super.toString().concat(String.format("\nNombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
51     }
52 
53     public String getNombreCond() {
54         return nombreCond;
55     }
56 
57     public final void setNombreCond(String nombreCond) {
58         this.nombreCond = nombreCond;
59     }
60 
61     public String getNombreDoc() {
62         return nombreDoc;
63     }
64 
65     public final void setNombreDoc(String nombreDoc) {
66         this.nombreDoc = nombreDoc;
67     }
68 
69     public byte getImportancia() {
70         return importancia;
71     }
72 
73     public void setImportancia(byte importancia) {
74         this.importancia = importancia;
75     }
76     
77 }

Clase Furgoneta

 1 package programador.novato;
 2 
 3 public class Furgoneta extends Vehiculo{
 4     
 5     private double dinero;
 6     private byte numVigilantes;
 7     
 8     public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
 9         super(matricula,marca,anoCompra);
10         setDinero(dinero);
11         setNumVigilantes(numVigilantes);
12         
13         calcularIngresos();
14     }
15 
16     @Override
17     public void imprimirDatos(){
18         super.imprimirDatos();
19         this.imprimirDinero();
20         this.imprimirJurados();
21     }
22     
23     private void calcularIngresos(){
24         if (dinero < 100000){
25             setIngreso(10000);
26         }
27         else {
28             setIngreso(25000);
29         }
30         calcularIngresosTotal();
31     }
32     
33     public void imprimirDinero(){
34         System.out.printf("%nDinero: %,.2f",dinero);
35     }
36     public void imprimirJurados(){
37         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
38     }
39     
40     @Override
41     public String toString(){
42         
43         return super.toString().concat(String.format("\nDinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
44     }
45 
46     public double getDinero() {
47         return dinero;
48     }
49 
50     public final void setDinero(double dinero) {
51         this.dinero = dinero;
52     }
53 
54     public byte getNumVigilantes() {
55         return numVigilantes;
56     }
57 
58     public final void setNumVigilantes(byte numVigilantes) {
59         this.numVigilantes = numVigilantes;
60     }
61     
62 }

Clase Principal

 1 package programador.novato;
 2 
 3 public class Principal {
 4  
 5     public static void main(String arg[]){
 6         Coche coche1 = new Coche("C-1234-BZ","Peugot",(short)1999,"PEPE","Documentos del Pentágono",(byte)0);
 7         Vehiculo.impNumVehiculos();
 8         Coche coche2 = new Coche("C-4325-AZ","Fiat",(short)1998,"Luis el corredor","Top Secret China",(byte)2);
 9         Vehiculo.impNumVehiculos();
10 
11         Furgoneta furgoneta1 = new Furgoneta("C-2342-AF","Opel",(short)1998,1000.22,(byte)3);
12         Vehiculo.impNumVehiculos();
13         Furgoneta furgoneta2 = new Furgoneta("C-4232-CF","Ford",(short)2000,226030.72,(byte)1);
14         Vehiculo.impNumVehiculos();
15         
16         coche1.imprimirDatos();
17         furgoneta1.imprimirDatos();
18         
19         System.out.printf("\nCOCHE2:\n%s",coche2);
20         System.out.printf("\nFURGONETA2:\n%s",furgoneta2);
21         
22         Vehiculo.imprimirIngresosTotal();
23     }
24     
25 }



Solución Ejercicio 17

Clase Coche

 1 package programador.novato;
 2 
 3 public class Coche extends Vehiculo{
 4     private final int INGRESO_5000=5000;
 5     private final int INGRESO_10000=10000;
 6     private final int INGRESO_20000=20000;
 7     
 8     private String nombreCond;
 9     private String nombreDoc;
10 
11     private byte importancia;
12     
13     public Coche(String matricula,String marca,short anoCompra,String nombreCond,String nombreDoc,byte importancia){
14         super(matricula,marca,anoCompra);
15         setNombreCond(nombreCond);
16         setNombreDoc(nombreDoc);
17         setImportancia(importancia);
18         
19         calcularIngresos();
20     }
21 
22     private void calcularIngresos(){
23         switch(importancia){
24             case 0:
25                 setIngreso(INGRESO_5000);
26                 break;
27             case 1:
28                 setIngreso(INGRESO_10000);
29                 break;
30             case 2:
31                 setIngreso(INGRESO_20000);
32                 break;
33         }
34         calcularIngresosTotal();
35     }
36     
37     @Override
38     public void imprimirDatos(){
39         super.imprimirDatos();
40         this.imprimirNombreCond();
41         this.imprimirNombreDoc();
42     }
43     
44     public void imprimirNombreCond(){
45         System.out.printf("%nNombre del conductor: %s",nombreCond);
46     }
47     public void imprimirNombreDoc(){
48         System.out.printf("%nNombre documento: %s",nombreDoc);
49     }
50     @Override
51     public String toString(){
52         
53         return super.toString().concat(String.format("\nNombre Conduct::%s\nNombre Doc:%s\n",nombreCond,nombreDoc));
54     }
55 
56     public String getNombreCond() {
57         return nombreCond;
58     }
59 
60     public final void setNombreCond(String nombreCond) {
61         this.nombreCond = nombreCond;
62     }
63 
64     public String getNombreDoc() {
65         return nombreDoc;
66     }
67 
68     public final void setNombreDoc(String nombreDoc) {
69         this.nombreDoc = nombreDoc;
70     }
71 
72     public byte getImportancia() {
73         return importancia;
74     }
75 
76     public void setImportancia(byte importancia) {
77         this.importancia = importancia;
78     }
79     
80 }


Clase Furgoneta

 1 package programador.novato;
 2 
 3 public class Furgoneta extends Vehiculo{
 4     
 5     private final int INGRESO_10000=10000;
 6     private final int INGRESO_25000=25000;
 7 
 8     private double dinero;
 9     private byte numVigilantes;
10     
11     public Furgoneta(String matricula,String marca,short anoCompra,double dinero,byte numVigilantes){
12         super(matricula,marca,anoCompra);
13         setDinero(dinero);
14         setNumVigilantes(numVigilantes);
15         
16         calcularIngresos();
17     }
18 
19     @Override
20     public void imprimirDatos(){
21         super.imprimirDatos();
22         this.imprimirDinero();
23         this.imprimirJurados();
24     }
25     
26     private void calcularIngresos(){
27         if (dinero < 100000){
28             setIngreso(INGRESO_10000);
29         }
30         else {
31             setIngreso(INGRESO_25000);
32         }
33         calcularIngresosTotal();
34     }
35     
36     public void imprimirDinero(){
37         System.out.printf("%nDinero: %,.2f",dinero);
38     }
39     public void imprimirJurados(){
40         System.out.printf("%nNum. Vigilantes: %d",numVigilantes);
41     }
42     
43     @Override
44     public String toString(){
45         
46         return super.toString().concat(String.format("\nDinero:%.2f\nNum. Vigilantes:%d",dinero,numVigilantes));
47     }
48 
49     public double getDinero() {
50         return dinero;
51     }
52 
53     public final void setDinero(double dinero) {
54         this.dinero = dinero;
55     }
56 
57     public byte getNumVigilantes() {
58         return numVigilantes;
59     }
60 
61     public final void setNumVigilantes(byte numVigilantes) {
62         this.numVigilantes = numVigilantes;
63     }
64     
65 }



Solución Ejercicio 18

Clase Coche, Clase Furgoneta, Clase Vehiculo

1 package transportes;
2 public class XXXXXX {
3  .......
4 
5 }


Clase Principal

 1 package programador.novato;
 2 
 3 import transportes.Vehiculo;
 4 import transportes.Coche;
 5 import transportes.Furgoneta;
 6 
 7 public class Principal {
 8 
 9   ................
10 
11 }