Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Cards;
- import java.time.LocalDate;
- public class Card implements Chargeable {
- private String ownername;
- private LocalDate ervenyesseg;
- public enum bank {
- OTP, KH, ERSTE, CIB
- };
- private bank bank;
- private int egyenleg;
- public Card(String ownername, LocalDate ervenyesseg, Cards.Card.bank bank, int egyenleg) {
- super();
- this.ownername = ownername;
- this.ervenyesseg = ervenyesseg;
- this.bank = bank;
- this.egyenleg = egyenleg;
- }
- public String getOwnername() {
- return ownername;
- }
- public LocalDate getErvenyesseg() {
- return ervenyesseg;
- }
- public bank getBank() {
- return bank;
- }
- public int getEgyenleg() {
- return egyenleg;
- }
- public void setEgyenleg(int egyenleg) {
- this.egyenleg = egyenleg;
- }
- public boolean CacheUp(int min) {
- int ujegyenleg = this.egyenleg-min;
- if (this.egyenleg > ujegyenleg && ervenyesseg.isBefore(getErvenyesseg()) == true) {
- return true;
- }else if (ujegyenleg < 0 || ervenyesseg.isBefore(getErvenyesseg()) == false) {
- return false;
- }
- return false;
- }
- @Override
- public String toString() {
- return "Card [ownername=" + ownername + ", ervenyesseg=" + ervenyesseg + ", bank=" + bank + ", egyenleg="
- + egyenleg + "]";
- }
- @Override
- public boolean felszamit(int ertek) {
- return false;
- }
- }
- package Cards;
- import java.time.LocalDate;
- import Cards.Card;
- public class CreditCard extends Card {
- private int hitelframe;
- public CreditCard(String ownername, LocalDate ervenyesseg, Card.bank bank, int egyenleg) {
- super(ownername, ervenyesseg, bank, egyenleg);
- this.hitelframe = 100000;
- }
- public CreditCard(String ownername, LocalDate ervenyesseg, Card.bank bank, int egyenleg, int hitelframe) {
- super(ownername, ervenyesseg, bank, egyenleg);
- this.hitelframe = hitelframe;
- }
- public boolean CacheUpPlus(int minus) {
- int Save = this.getEgyenleg();
- if (this.getErvenyesseg().isBefore(getErvenyesseg()) == true) {
- int uj = this.getEgyenleg()-minus;
- this.setEgyenleg(uj);
- if (uj < Save && uj >= 0) {
- return true;
- }else if ((uj+hitelframe) > minus) {
- return true;
- }else {return false;}
- }else {
- return false;
- }
- }
- public int getHitelframe() {
- return hitelframe;
- }
- }
- //main
- package Cards;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.time.LocalDate;
- import java.util.ArrayList;
- import java.util.Comparator;
- import Cards.Card.bank;
- public class CardTest {
- public static void main(String[] args) throws NumberFormatException, IOException {
- ArrayList<Card> cards = new ArrayList<Card>();
- System.out.println("Kérem adjon meg egy számot");
- int beolvasott = InReader();
- System.out.println("A beolvasott szám: " + beolvasott+"\n");
- cards.add(new CreditCard("Kiss Tamás", LocalDate.parse("2020-04-30"), bank.OTP, 150000, 100000));
- cards.add(new Card("Nagy Levente", LocalDate.parse("2022-05-31"), bank.ERSTE, 100000));
- cards.add(new CreditCard("Szabó László", LocalDate.parse("2019-03-31"), bank.OTP, 200000, 100000));
- cards.add(new Card("Kovács Edit", LocalDate.parse("2021-01-31"), bank.CIB, 250000));
- int egyenlegek[] = { 280000, 80000, 50000, 100000 };
- for (int i = 0; i < cards.size(); i++) {
- if (cards.get(i) instanceof Card) {
- if (cards.get(i).CacheUp(egyenlegek[i]) == true) {
- System.out.println("Sikeres pénzfelvét!" + cards.get(i).toString());
- } else {
- System.out.println("Sikertelen pénzfelvét" + cards.get(i).toString());
- }
- } else if (cards.get(i) instanceof CreditCard) {
- if (cards.get(i).CacheUp(egyenlegek[i]) == true) {
- System.out.println("Sikeres pénzfelvét! " + cards.get(i).toString()+"Credit:"+((CreditCard) cards.get(i)).getHitelframe());
- } else {
- System.out.println("Sikertelen pénzfelvét! " + cards.get(i).toString()+"Credit:"+((CreditCard) cards.get(i)).getHitelframe());
- }
- }
- }
- cards.sort(Comparator.comparing(e -> e.getErvenyesseg()));
- System.out.println("\nRendezett Kiiratás:");
- OutWriter(cards);
- }
- public static int InReader() throws NumberFormatException, IOException {
- BufferedReader be = new BufferedReader(new InputStreamReader(System.in));
- int ret = 0;
- int in = 0;
- for (int i = 0;; i++) {
- in = Integer.parseInt(be.readLine());
- if (in >= 1 && in <= 10) {
- ret = in;
- break;
- } else {
- System.out.println("Kérem 1-10 közötti számot adjon meg!");
- }
- }
- return ret;
- }
- public static int CibCounter(ArrayList<Card> active) {
- int counter = 0;
- for (Card card : active) {
- if (card.getBank() == bank.CIB) {
- counter++;
- }
- }
- return counter;
- }
- public static void OutWriter(ArrayList<Card> active) {
- for (Card card : active) {
- System.out.println(card);
- }
- }
- }
- //interface
- package Cards;
- public interface Chargeable {
- boolean felszamit(int ertek);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement