Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class Amenzi implements Strategie {
- protected String CNP;
- protected int valoareAmenda;
- Amenzi(String CNP, int valoareAmenda){
- this.CNP = CNP;
- this.valoareAmenda = valoareAmenda;
- }
- public int getValoareAmenda(){
- return this.valoareAmenda;
- }
- public abstract String toString();
- public String getCNP(){
- return this.CNP;
- }
- public boolean conditie(Amenzi amenda){
- return this.CNP.equals(amenda.getCNP());
- }
- }
- public class ParcareIlegala extends Amenzi {
- ParcareIlegala(String CNP){
- super(CNP,500);
- }
- @Override
- public String toString() {
- return "" + this.CNP + " Parecare Ilegala " + valoareAmenda ;
- }
- public boolean conditie(Amenzi amenda){
- if(amenda instanceof ParcareIlegala)
- return true;
- else return false;
- }
- }
- public class AruncatulGunoiului extends Amenzi {
- AruncatulGunoiului(String CNP, int factor_zonal){
- super(CNP,200 * factor_zonal);
- }
- @Override
- public String toString() {
- return "" + this.CNP + " Aruncarea Gunoiului " + valoareAmenda ;
- }
- }
- public class DistrugereBunuri extends Amenzi {
- DistrugereBunuri(String CNP, int valoareBun){
- super(CNP, 300 * valoareBun);
- }
- @Override
- public String toString() {
- return "" + this.CNP + " Distrugerea Bunurilor " + valoareAmenda ;
- }
- }
- public class GestiuneAmenzi {
- private Amenzi[] amenzi = new Amenzi[64];
- private int nr_amenzi;
- public void introduceAmenda(Amenzi new_amenda){
- if (nr_amenzi == amenzi.length){
- Amenzi[] noi_amenzi = new Amenzi[2 * nr_amenzi];
- for (int i = 0; i < nr_amenzi; i++){
- noi_amenzi[i] = amenzi[i];
- }
- amenzi = noi_amenzi;
- }
- amenzi[nr_amenzi] = new_amenda;
- nr_amenzi++;
- }
- public int valoare(Strategie strategie){
- int suma = 0;
- for(int i = 0; i < nr_amenzi; i++){
- if(strategie.conditie(amenzi[i])){
- suma += amenzi[i].getValoareAmenda();
- }
- }
- return suma;
- }
- }
- public interface Strategie {
- boolean conditie(Amenzi amenda);
- }
- public class Main {
- public static void main (String[] args){
- ParcareIlegala p = new ParcareIlegala("1031274456709");
- ParcareIlegala p2 = new ParcareIlegala("1031274456709");
- AruncatulGunoiului a = new AruncatulGunoiului("1031274456709", 2);
- DistrugereBunuri d = new DistrugereBunuri("1031274456709", 10);
- GestiuneAmenzi g = new GestiuneAmenzi();
- g.introduceAmenda(p);
- g.introduceAmenda(p2);
- g.introduceAmenda(a);
- g.introduceAmenda(d);
- System.out.println(g.valoare(p));
- System.out.println(g.valoare(d));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement