Ejercicio cartas

package com.trifulcas.cartas;

public abstract class Carta {
	private String palo;
	private int numero;
	
	public Carta(String palo, int numero) {
		this.palo = palo;
		this.numero = numero;
	}
	/**
	 * @return the palo
	 */
	public String getPalo() {
		return palo;
	}
	/**
	 * @param palo the palo to set
	 */
	public void setPalo(String palo) {
		this.palo = palo;
	}
	/**
	 * @return the numero
	 */
	public int getNumero() {
		return numero;
	}
	/**
	 * @param numero the numero to set
	 */
	public void setNumero(int numero) {
		this.numero = numero;
	}
	
	public abstract int getValor();
	
	@Override
	public String toString() {
		return numero+" de "+palo;
	}
	
	
}

package com.trifulcas.cartas;

public class Espanyola extends Carta {

	public Espanyola(String palo, int numero) {
		super(palo, numero);
	}

	@Override
	public int getValor() {
		if (getNumero()>=10) {
			return 10;
		}
		return getNumero();
	}

}

package com.trifulcas.cartas;

public class Francesa extends Carta {

	public Francesa(String palo, int numero) {
		super(palo, numero);
		// TODO Auto-generated constructor stub
	}

	@Override
	public int getValor() {
		// TODO Auto-generated method stub
		return getNumero();
	}

}

package com.trifulcas.cartas;

import java.util.ArrayList;
import java.util.List;

public class Baraja {
	List<Carta> cartas;
	public Baraja() {
		cartas=new ArrayList<>();
	}
	public void addCarta(Carta carta) {
		cartas.add(carta);
	}
	public int totalValor() {
		int total=0;
		for(Carta carta:cartas) {
			total+=carta.getValor();
		}
		return total;
	}
}

package com.trifulcas.cartas;

public class TestCartas {

	public static void main(String[] args) {
		Carta e=new Francesa("Diamantes",7);
		System.out.println(e);
		Carta f=new Espanyola("Bastos",12);
		System.out.println(f);
		Baraja b=new Baraja();
		b.addCarta(f);
		b.addCarta(e);
		System.out.println(b.totalValor());
	}

}

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos