PROGRAMACION Ejercicios 12 SHEILA NIETO UREÑA 1 CLASES

Anuncio
PROGRAMACION
 Clases Figura, Rectángulo y Triángulo.
Ejercicios 12
SHEILA NIETO UREÑA
CLASES ABSTRACTAS
1. Crear la clase abstracta Producto con los atributos precioVenta y costeFab de tipo doble y nomProd
de tipo cadena. También incluirá el método abstracto impDatos.
Esta clase se va a implementar con las clases Libro y DVD.
2. Define una clase abstracta Cuenta con los siguientes atributos:



numerocuenta: entero largo.
saldo: double.
cliente: atributo de la clase Persona (que tiene nombre y apellidos, y NIF).




Constructor parametrizado que recibe un cliente y un número de cuenta.
Accedentes para los tres atributos (getters).
Ingresar (double): permitirá ingresar una cantidad en la cuenta.
Abstract retirar (double): permitirá sacar una cantidad de la cuenta (si hay saldo). No se
implementa, depende del tipo de cuenta.
actualizarSaldo(): actualizará el saldo de la cuenta, pero cada cuenta lo hace de una forma
diferente.
Con los siguientes métodos:

Define las subclases de Cuenta que se describen a continuación:


CuentaCorriente: Cuenta normal con un interés fijo del 1.5%. Incluir constructor parametrizado y
método toString().
CuentaAhorro: Esta cuenta tiene como atributos el interés variable a lo largo del año y un saldo
mínimo necesario. Al retirar dinero hay que tener en cuenta que no se sobrepase el saldo
mínimo. Incluir constructor parametrizado, método toString() y método para cambiar el interés.
Crea un programa que cree varias cuentas y pruebe sus características.
1
PROGRAMACION
Ejercicios 12
SHEILA NIETO UREÑA
ejercicios12
claseAbstracta .................................................................................................................................................... 3
Figura ..............................................................................................................................................................3
Rectangulo ...................................................................................................................................................... 3
Triangulo .........................................................................................................................................................3
AppFigura ....................................................................................................................................................... 3
ejer1 .................................................................................................................................................................... 4
Producto .........................................................................................................................................................4
Libro ................................................................................................................................................................ 4
DVD ................................................................................................................................................................. 4
AppProducto ................................................................................................................................................... 4
ejer2 .................................................................................................................................................................... 5
Persona ........................................................................................................................................................... 5
Cuenta ............................................................................................................................................................ 5
CuentaCorriente .............................................................................................................................................6
CuentaAhorro ................................................................................................................................................. 7
AppCuenta ...................................................................................................................................................... 8
2
PROGRAMACION
claseAbstracta
Ejercicios 12
Figura
package claseAbstracta;
public abstract class Figura {
double valor1;
double valor2;
public Figura(double valor1, double valor2){
this.valor1=valor1;
this.valor2=valor2;
}
public abstract double area();
}
Rectangulo
package claseAbstracta;
public class Rectangulo extends Figura{
public Rectangulo(double v1,double v2){
super(v1,v2);
}
public double area(){
double area=valor1*valor2;
return area;
}
}
Triangulo
package claseAbstracta;
public class Triangulo extends Figura {
public Triangulo(double v1,double v2){
super(v1,v2);
}
public double area(){
double area=valor1*valor2/2;
return area;
}
}
AppFigura
package claseAbstracta;
public class AppFigura {
public static void main(String[] args) {
//Figura f=new Rectangulo(2.3,5.3);
Rectangulo r=new Rectangulo(2.3,5.3);
System.out.println("Area del rectangulo: "+r.area());
}
}
Triangulo t=new Triangulo(3.4,4.2);
System.out.println("\nArea del triangulo: "+t.area());
3
SHEILA NIETO UREÑA
PROGRAMACION
ejer1
Ejercicios 12
SHEILA NIETO UREÑA
Producto
package ejer1;
public abstract class Producto {
public double precioVenta, costeFab;
String nomProd;
}
public Producto(double precio,double coste,String nom){
precioVenta=precio;
costeFab=coste;
nomProd=nom;
}
public abstract String impDatos();
Libro
package ejer1;
import java.text.DecimalFormat;
public class Libro extends Producto{
DecimalFormat df=new DecimalFormat("#.00");
public Libro(double p, double c, String nom){
super(p,c,nom);
}
public String impDatos(){
return "Titulo: "+nomProd+"\nPrecio: "+df.format(precioVenta)+" euros\nCoste:
"+df.format(costeFab)+" euros";
}
}
DVD
package ejer1;
import java.text.DecimalFormat;
public class DVD extends Producto{
DecimalFormat df=new DecimalFormat("#.00");
public DVD(double p, double c, String nom){
super(p,c,nom);
}
public String impDatos(){
return "Titulo: "+nomProd+"\nPrecio: "+df.format(precioVenta)+" euros\nCoste:
"+df.format(costeFab)+" euros";
}
}
AppProducto
package ejer1;
public class AppProducto {
public static void main(String[] args) {
Libro l=new Libro(15.5,13.33,"Complice");
System.out.println(l.impDatos());
}
}
DVD d=new DVD(10,5.62,"Avatar");
System.out.println(d.impDatos());
4
PROGRAMACION
ejer2
Ejercicios 12
SHEILA NIETO UREÑA
Persona
package ejer2;
public class Persona {
protected String nombre;
protected String apellidos;
protected String nif;
}
public Persona(){
nombre="Pepe";
apellidos="Gotera";
nif="26314852K";
}
public Persona(String nombre, String apellidos, String nif){
this.nombre=nombre;
this.apellidos=apellidos;
this.nif=nif;
}
public String getNombre() {
return nombre;
}
public String getApellidos() {
return apellidos;
}
public String getNif() {
return nif;
}
public String toString() {
return "CLIENTE: "+nombre+" "+apellidos+
"\nNIF: "+nif;
}
Cuenta
package ejer2;
import java.text.DecimalFormat;
public abstract class Cuenta {
DecimalFormat df=new DecimalFormat("#.00");
protected long numCuenta;
protected double saldo;
Persona cliente;
public Cuenta(){
numCuenta=1931954687;
saldo=950.35;
cliente=new Persona();
}
public Cuenta(long numCuenta,double saldo,Persona cliente){
this.numCuenta=numCuenta;
this.saldo=saldo;
this.cliente=cliente;
}
public void ingresar(double imp){
saldo=saldo+imp;
System.out.println("Importe ingresado: "+df.format(imp)+" euros");
}
5
PROGRAMACION
Ejercicios 12
SHEILA NIETO UREÑA
public abstract void retirar(double imp);
}
public void actualizarSaldo(){
System.out.println("Saldo actual: "+df.format(saldo)+" euros\n");
}
public void verSaldoCC(){
int t=1;
saldo+=saldo*1.5/100*t;
//saldo=saldo+saldo*1.5/100*t;
System.out.println("Saldo actual: "+df.format(saldo)+" euros\n");
}
public void verSaldoCA(double vble){
int t=1;
saldo+=saldo*vble/100*t;
System.out.println("Saldo actual: "+df.format(saldo)+" euros\n");
}
public long getNumCuenta() {
return numCuenta;
}
public double getSaldo() {
return saldo;
}
public Persona getCliente() {
return cliente;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
CuentaCorriente
package ejer2;
import java.text.DecimalFormat;
public class CuentaCorriente extends Cuenta{
DecimalFormat df=new DecimalFormat("#.00");
private final double FIJO=1.5;
public CuentaCorriente(){
super();
}
public CuentaCorriente(long numCuenta,double saldo,Persona cliente){
super(numCuenta,saldo,cliente);
}
public void retirar(double imp){
if(saldo>=imp){
saldo=saldo-imp;
System.out.println("Importe retirado: "+df.format(imp)+" euros");
}else
System.out.println("No se puede realizar la operacion");
}
public String toString() {
return "Nº Cuenta: "+numCuenta+
"\nSaldo: "+df.format(saldo)+" euros\nInteres fijo: "+FIJO+"%";
}
}
6
PROGRAMACION
Ejercicios 12
SHEILA NIETO UREÑA
CuentaAhorro
package ejer2;
import java.text.DecimalFormat;
public class CuentaAhorro extends Cuenta{
DecimalFormat df=new DecimalFormat("#.00");
private double variable;
private double salMin;
public CuentaAhorro(){
super();
}
public CuentaAhorro(long numCuenta,double saldo,Persona cliente,double variable,double
salMin){
super(numCuenta,saldo,cliente);
this.variable=variable;
this.salMin=salMin;
}
public void retirar(double imp){
double aux=0;
aux=saldo-imp;
if(aux>=salMin){
saldo=saldo-imp;
System.out.println("Importe retirado: "+df.format(imp)+" euros");
}else
System.out.println("Importe a retirar: "+df.format(imp)+" euros\nNo se
puede realizar la operacion");
}
public void cambiarInteres(double vble){
// = setVariable
System.out.println("Nuevo interes: "+vble);
}
//
public void setVariable(double variable) {
//
this.variable = variable;
//
}
public String toString() {
return "Nº Cuenta: "+numCuenta+
"\nSaldo: "+df.format(saldo)+" euros\nInteres variable anual: "+
variable+"%\nSaldo minimo exigido: "+df.format(salMin)+" euros";
}
public double getVariable() {
return variable;
}
}
7
PROGRAMACION
Ejercicios 12
SHEILA NIETO UREÑA
AppCuenta
package ejer2;
public class AppCuenta {
public static void main(String[]args){
CuentaCorriente cc=new CuentaCorriente();
Persona p=new Persona();
System.out.println(p.toString());
System.out.println(cc.toString());
cc.retirar(600);
cc.actualizarSaldo();
cc.verSaldoCC();
Persona p1=new Persona("Ana","Conda","7395456P");
System.out.println(p1.toString());
CuentaAhorro ca=new CuentaAhorro(1564848484,1230.48,p1,0.3,100);
System.out.println(ca.toString());
ca.cambiarInteres(0.5);
ca.retirar(1200);
ca.actualizarSaldo();
ca.retirar(600);
ca.actualizarSaldo();
ca.ingresar(400);
ca.actualizarSaldo();
ca.verSaldoCA(ca.getVariable());
}
}
8
Descargar