Skip to content
Snippets Groups Projects
Commit c779d9f8 authored by carmuno's avatar carmuno :tennis:
Browse files

mas clases

parent 3bd21500
No related branches found
No related tags found
No related merge requests found
Showing
with 511 additions and 0 deletions
enunciados/ord18_19.jpg

115 KiB

enunciados/ord18_191.jpg

151 KiB

package Ordinario2015_16;
public class Cliente {
private String nombre;
public Cliente(String nombre) {
this.nombre = nombre;
}
}
package Ordinario2015_16;
import java.util.ArrayList;
public class Contrato {
/*
* Inicializa un nuevo contrato para el cliente c
*/
public Contrato(Cliente c) {
}
/*
* A�ade el partido p al conjunto de partidos a facturar en ese periodo
*/
public void compra(Partido p) {
}
/*
* Devuelve el importe total de la factura - El importe incluye tanto
* determinados gastos fijos como el importe de los partidos comprados - El
* importe de un partido depende de varios criterios, entre ellos el equipo
* local y el visitante
*/
public double importe() {
return 0;
}
/*
* Reinicia la informaci�n sobre los partidos consumidos para iniciar un nuevo
* periodo de facturacion
*/
public void reset() {
}
}
package Ordinario2015_16;
import java.util.ArrayList;
public class DosPorUno extends Contrato {
private int cont = 0;
private ArrayList<Partido> partidos;
public DosPorUno(Cliente c) {
super(c);
partidos = new ArrayList<>();
}
@Override
public void compra(Partido p) {
if (cont == 0 || cont % 2 == 0) {
partidos.add(p);
}
cont++;
}
@Override
public double importe() {
return super.importe() * (1 + 0.05);
}
}
package Ordinario2015_16;
public class Partido {
private String local;
private String visitante;
public Partido(String local, String visitante) {
this.local = local;
this.visitante = visitante;
}
public String getLocal() {
return local;
}
public String getVisitante() {
return visitante;
}
}
package Ordinario2015_16;
import java.util.ArrayList;
public class Seguidor extends Contrato {
private String equipo;
private int cont = 0;
private ArrayList<Partido> partidos;
public Seguidor(Cliente c, String equipo) {
super(c);
this.equipo = equipo;
partidos = new ArrayList<>();
}
@Override
public void compra(Partido p) {
if (p.getLocal().equals(equipo) && cont != 0) { // Se a�ade el partido si su equipo es local y no es el primer
// partido que se a�ade
partidos.add(p);
}
cont++;
}
}
package Ordinario2015_16;
import java.util.ArrayList;
public class TodoElFutbol extends Contrato {
private ArrayList<Partido> partidos;
public TodoElFutbol(Cliente c) {
super(c);
partidos = new ArrayList<>();
}
@Override
public void compra(Partido p) {
partidos.add(p);
partidos.remove(p);
}
@Override
public double importe() {
return super.importe() * (1 + 0.20);
}
}
package ord_18_19;
import java.util.ArrayList;
import java.util.Collections;
/*
* @author Martin Tornero Vazquez
* @Carlos Noe Muñoz
* @version 1.1
*
*/
public class ColaConsultas <E extends Karma>{
private ArrayList <Objeto<E>> lista;
public ColaConsultas() {
lista = new ArrayList<Objeto<E>>();
}
public void mete(E e) {
int karma = e.getkarma();
Objeto <E> c = new Objeto<E>(e,karma);
assert(lista.contains(c));
lista.add(c);
Collections.sort(lista); //los va a ordenar conforme los va metiendo conforme al aorden creiente de "Karama".
}
public E siguienteConsulta() {
// TODO: exceciones
return lista.get(0).getOBject();
}
public void eliminaConsultaAtendida(E e) {
// TODO: exceciones
lista.remove(0);
}
public int consultasEnEspera() {
// TODO: exceciones
return lista.size();
}
public double karmaMedio() {
// TODO: exceciones
double karma = 0.0;
for (int i = 0; i < lista.size(); i++) {
karma = karma + lista.get(i).getOBject().getkarma();
}
return karma / (consultasEnEspera());
}
}
package ord_18_19;
import java.time.LocalDate;
import java.util.ArrayList;
public class ColaDeEspera<E extends Karma> {
// private ArrayList<E> cola = new ArrayList<>();
private ArrayList<E> cola;
public ColaDeEspera() {
cola = new ArrayList<>();
}
public void insertaConsulta(E e) {
// TODO: exceciones
if (cola.isEmpty()) {
cola.add(e);
} else {
for (int i = 0; i < cola.size(); i++) {
if (cola.get(i).getkarma() < e.getkarma()) {
cola.add(i, e);
}
}
}
}
public E siguienteConsulta() {
// TODO: exceciones
return cola.get(0);
}
public void eliminaConsultaAtendida(E e) {
// TODO: exceciones
cola.remove(0);
}
public int consultasEnEspera() {
// TODO: exceciones
return cola.size();
}
public double karmaMedio() {
// TODO: exceciones
double karma = 0.0;
for (int i = 0; i < cola.size(); i++) {
karma = karma + cola.get(i).getkarma();
}
return karma / (consultasEnEspera());
}
}
package ord_18_19;
public interface Karma {
public int getkarma();
}
package ord_18_19;
public class Objeto <R> implements Comparable <Objeto> {
private R objeto;
private int karma;
public Objeto(R objeto, int Karma) {
this.objeto = objeto;
this.karma = Karma;
}
public R getOBject() {
return objeto;
}
public int getkarma() {
return karma;
}
public int setkarma(int karma) {
return this.karma = karma;
}
public int compareTo(Objeto o) {
if (karma < o.karma) {
return -1;
}
if (karma > o.karma) {
return 1;
}
return 0;
}
}
package ord_18_19_2º;
public class CineCien extends Factura{
private int contadorpeliculas = 0;
private static int FIJO =5;
public CineCien(Cliente cliente) {
super(cliente);
}
@Override
public void pagopelicula(Contenido c, double cantidad) {
if(contadorpeliculas<100) {
contadorpeliculas++;
super.pagoseries(c, 0);
}
else {
super.pagopelicula(c, cantidad);
}
}
@Override
public double pagototal() {
return super.pagototal()+FIJO;
}
@Override
public String observaciones() {
return "Estoy en una factura de cine cien";
}
}
package ord_18_19_2º;
public class Cliente {
//esta clase esta hecha solo para que no de error, no se pide en el examen.
private String nombre;
private String dni;
private int edad;
public Cliente(String nombre, String dni, int edad) {
this.dni =dni;
this.edad =edad;
this.nombre =nombre;
}
}
package ord_18_19_2º;
public class Contenido {
//solo la creamos para que no de errores en nuestro proyecto, en el examen, no hay que
//crearla.
public Contenido() {
}
}
package ord_18_19_2º;
public class Factura {
public Factura(Cliente cliente) {
}
public void pagomusica(Contenido c, double cantidad) {
}
public void pagoseries(Contenido c, double cantidad) {
}
public void pagopelicula(Contenido c, double cantidad) {
}
public double pagototal() {
return 0;
}
public String observaciones() {
return "Estoy en una factura general";
}
public void reset() {
}
}
\ No newline at end of file
package ord_18_19_2º;
public class Premium extends Factura{
public Premium(Cliente cliente) {
super(cliente);
}
@Override
public String observaciones() {
return "Estoy en una factura de tipo premium";
}
public void pagomusica(Contenido c, double cantidad) {
super.pagomusica(c,0);
}
@Override
public double pagototal() {
return super.pagototal()+3;
}
}
package ord_18_19_2º;
public class SerieAdictos extends Factura{
private int cont;
public SerieAdictos(Cliente cliente) {
super(cliente);
}
@Override
public void pagoseries(Contenido c, double cantidad) {
if(cont ==1 ) {
super.pagoseries(c, cantidad);
cont = 2;
}
else {
//este el el segundo y el segundo se factira a coste 0.
cont = 1;
super.pagoseries(c, 0);
}
}
@Override
public String observaciones() {
return "Estoy en una factura de tipo Serie adictos";
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment