Advertisement
Anonymus_Soul

Untitled

Apr 30th, 2020
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.92 KB | None | 0 0
  1. package Cards;
  2.  
  3. import java.time.LocalDate;
  4.  
  5. public class Card implements Chargeable {
  6.     private String ownername;
  7.     private LocalDate ervenyesseg;
  8.  
  9.     public enum bank {
  10.         OTP, KH, ERSTE, CIB
  11.     };
  12.  
  13.     private bank bank;
  14.     private int egyenleg;
  15.  
  16.     public Card(String ownername, LocalDate ervenyesseg, Cards.Card.bank bank, int egyenleg) {
  17.         super();
  18.         this.ownername = ownername;
  19.         this.ervenyesseg = ervenyesseg;
  20.         this.bank = bank;
  21.         this.egyenleg = egyenleg;
  22.     }
  23.  
  24.     public String getOwnername() {
  25.         return ownername;
  26.     }
  27.  
  28.     public LocalDate getErvenyesseg() {
  29.         return ervenyesseg;
  30.     }
  31.  
  32.     public bank getBank() {
  33.         return bank;
  34.     }
  35.  
  36.     public int getEgyenleg() {
  37.         return egyenleg;
  38.     }
  39.  
  40.     public void setEgyenleg(int egyenleg) {
  41.         this.egyenleg = egyenleg;
  42.     }
  43.  
  44.     public boolean CacheUp(int min) {
  45.         int ujegyenleg = this.egyenleg-min;
  46.         if (this.egyenleg > ujegyenleg && ervenyesseg.isBefore(getErvenyesseg()) == true) {
  47.             return true;
  48.         }else if (ujegyenleg < 0 || ervenyesseg.isBefore(getErvenyesseg()) == false) {
  49.             return false;
  50.         }
  51.         return false;
  52.     }
  53.  
  54.     @Override
  55.     public String toString() {
  56.         return "Card [ownername=" + ownername + ", ervenyesseg=" + ervenyesseg + ", bank=" + bank + ", egyenleg="
  57.                 + egyenleg + "]";
  58.     }
  59.  
  60.     @Override
  61.     public boolean felszamit(int ertek) {
  62.        
  63.         return false;
  64.     }
  65.    
  66.  
  67. }
  68.  
  69. package Cards;
  70.  
  71. import java.time.LocalDate;
  72. import Cards.Card;
  73.  
  74. public class CreditCard extends Card {
  75.     private int hitelframe;
  76.  
  77.     public CreditCard(String ownername, LocalDate ervenyesseg, Card.bank bank, int egyenleg) {
  78.         super(ownername, ervenyesseg, bank, egyenleg);
  79.         this.hitelframe = 100000;
  80.     }
  81.  
  82.     public CreditCard(String ownername, LocalDate ervenyesseg, Card.bank bank, int egyenleg, int hitelframe) {
  83.         super(ownername, ervenyesseg, bank, egyenleg);
  84.         this.hitelframe = hitelframe;
  85.     }
  86.  
  87.     public boolean CacheUpPlus(int minus) {
  88.         int Save = this.getEgyenleg();
  89.         if (this.getErvenyesseg().isBefore(getErvenyesseg()) == true) {
  90.             int uj = this.getEgyenleg()-minus;
  91.             this.setEgyenleg(uj);
  92.             if (uj < Save && uj >= 0) {
  93.                 return true;
  94.             }else if ((uj+hitelframe) > minus) {
  95.                 return true;
  96.             }else {return false;}
  97.         }else {
  98.             return false;
  99.         }
  100.        
  101.     }
  102.  
  103.     public int getHitelframe() {
  104.         return hitelframe;
  105.     }
  106.    
  107. }
  108. //main
  109. package Cards;
  110.  
  111. import java.io.BufferedReader;
  112. import java.io.IOException;
  113. import java.io.InputStreamReader;
  114. import java.time.LocalDate;
  115. import java.util.ArrayList;
  116. import java.util.Comparator;
  117.  
  118. import Cards.Card.bank;
  119.  
  120. public class CardTest {
  121.  
  122.     public static void main(String[] args) throws NumberFormatException, IOException {
  123.         ArrayList<Card> cards = new ArrayList<Card>();
  124.         System.out.println("Kérem adjon meg egy számot");
  125.         int beolvasott = InReader();
  126.         System.out.println("A beolvasott szám: " + beolvasott+"\n");
  127.         cards.add(new CreditCard("Kiss Tamás", LocalDate.parse("2020-04-30"), bank.OTP, 150000, 100000));
  128.         cards.add(new Card("Nagy Levente", LocalDate.parse("2022-05-31"), bank.ERSTE, 100000));
  129.         cards.add(new CreditCard("Szabó László", LocalDate.parse("2019-03-31"), bank.OTP, 200000, 100000));
  130.         cards.add(new Card("Kovács Edit", LocalDate.parse("2021-01-31"), bank.CIB, 250000));
  131.         int egyenlegek[] = { 280000, 80000, 50000, 100000 };
  132.         for (int i = 0; i < cards.size(); i++) {
  133.             if (cards.get(i) instanceof Card) {
  134.                 if (cards.get(i).CacheUp(egyenlegek[i]) == true) {
  135.                     System.out.println("Sikeres pénzfelvét!" + cards.get(i).toString());
  136.                 } else {
  137.                     System.out.println("Sikertelen pénzfelvét" + cards.get(i).toString());
  138.                 }
  139.             } else if (cards.get(i) instanceof CreditCard) {
  140.                 if (cards.get(i).CacheUp(egyenlegek[i]) == true) {
  141.                     System.out.println("Sikeres pénzfelvét! " + cards.get(i).toString()+"Credit:"+((CreditCard) cards.get(i)).getHitelframe());
  142.                 } else {
  143.                     System.out.println("Sikertelen pénzfelvét! " + cards.get(i).toString()+"Credit:"+((CreditCard) cards.get(i)).getHitelframe());
  144.                 }
  145.             }
  146.  
  147.         }
  148.  
  149.         cards.sort(Comparator.comparing(e -> e.getErvenyesseg()));
  150.         System.out.println("\nRendezett Kiiratás:");
  151.         OutWriter(cards);
  152.     }
  153.  
  154.     public static int InReader() throws NumberFormatException, IOException {
  155.         BufferedReader be = new BufferedReader(new InputStreamReader(System.in));
  156.         int ret = 0;
  157.         int in = 0;
  158.         for (int i = 0;; i++) {
  159.             in = Integer.parseInt(be.readLine());
  160.             if (in >= 1 && in <= 10) {
  161.                 ret = in;
  162.                 break;
  163.             } else {
  164.                 System.out.println("Kérem 1-10 közötti számot adjon meg!");
  165.             }
  166.         }
  167.         return ret;
  168.     }
  169.  
  170.     public static int CibCounter(ArrayList<Card> active) {
  171.         int counter = 0;
  172.         for (Card card : active) {
  173.             if (card.getBank() == bank.CIB) {
  174.                 counter++;
  175.             }
  176.         }
  177.         return counter;
  178.     }
  179.  
  180.     public static void OutWriter(ArrayList<Card> active) {
  181.         for (Card card : active) {
  182.             System.out.println(card);
  183.         }
  184.     }
  185. }
  186. //interface
  187. package Cards;
  188.  
  189. public interface Chargeable {
  190.     boolean felszamit(int ertek);
  191. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement