Advertisement
Guest User

Untitled

a guest
Jan 18th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.99 KB | None | 0 0
  1. import java.util.Objects;
  2.  
  3. public class Plik implements Cloneable,Comparable<Plik>{
  4.     public Plik(String nazwa, Integer rozmiar, boolean czydozap)
  5.     {
  6.         this.nazwa=nazwa;
  7.         this.czyDoZapisu=czydozap;
  8.         this.rozmiar=rozmiar;
  9.         ile++;
  10.     }
  11.     public Plik(Integer rozmiar, boolean czydozap)
  12.     {
  13.         this.nazwa="Jakis Plik";
  14.         this.rozmiar=rozmiar;
  15.         this.czyDoZapisu=czydozap;
  16.         ile++;
  17.     }
  18.  
  19.     public String getNazwa() {
  20.         return nazwa;
  21.     }
  22.  
  23.     public void setNazwa(String nazwa) {
  24.         this.nazwa = nazwa;
  25.     }
  26.  
  27.     public Integer getRozmiar() {
  28.         return rozmiar;
  29.     }
  30.  
  31.     public void setRozmiar(Integer rozmiar) {
  32.         this.rozmiar = rozmiar;
  33.     }
  34.  
  35.     public boolean isCzyDoZapisu() {
  36.         return czyDoZapisu;
  37.     }
  38.  
  39.     public void setCzyDoZapisu(boolean czyDoZapisu) {
  40.         this.czyDoZapisu = czyDoZapisu;
  41.     }
  42.  
  43.     public static int getIle() {
  44.         return ile;
  45.     }
  46.  
  47.     public static void setIle(int ile) {
  48.         Plik.ile = ile;
  49.     }
  50.  
  51.     @Override
  52.     public String toString()
  53.     {
  54.         if(this.nazwa=="Jakis Plik")
  55.         {
  56.             return this.getClass() + " [ " + this.rozmiar + " ][ " + this.czyDoZapisu + " ]";
  57.         }
  58.         else {
  59.             return this.getClass() + "[ " + this.nazwa + " ][ " + this.rozmiar + " ][ " + this.czyDoZapisu + " ]";
  60.         }
  61.     }
  62.  
  63.  
  64.                 @Override
  65.                 public Plik clone() throws CloneNotSupportedException {
  66.                     return new Plik(this.nazwa,this.rozmiar,this.czyDoZapisu);
  67.                 }
  68.  
  69.  
  70.             @Override
  71.             public boolean equals(Object o) {
  72.                 if (this == o) return true;
  73.                 if(o==null) return false;
  74.                 if (this.getClass()==o.getClass()) {
  75.                     Plik plik = (Plik) o;
  76.                     return czyDoZapisu == plik.czyDoZapisu &&
  77.                             nazwa.equals(((Plik) o).nazwa) &&
  78.                             rozmiar.equals(((Plik) o).rozmiar);
  79.                 }
  80.                 return false;
  81.             }
  82.  
  83.     public int compareTo(Plik plik)
  84.     {
  85.         int d=this.rozmiar.compareTo(plik.rozmiar);
  86.         if(d==0)
  87.         {
  88.             d=this.nazwa.compareTo(plik.nazwa);
  89.         }
  90.         return d;
  91.     }
  92.  
  93.     private String nazwa;
  94.     private Integer rozmiar;
  95.     private boolean czyDoZapisu;
  96.     private static int ile=0;
  97.  
  98. }
  99. import java.time.LocalDate;
  100. import java.time.format.DateTimeFormatter;
  101. import java.util.concurrent.atomic.AtomicLongArray;
  102.  
  103. public class PlikVideo extends Plik implements Cloneable,Comparable<Plik> {
  104.  
  105.     public PlikVideo(String nazwa,Integer rozmiar, boolean czydozap,String rozsz)
  106.     {
  107.         super (nazwa,rozmiar,czydozap);
  108.         this.rozszerzenie=rozsz;
  109.         this.dataUtworzenia= LocalDate.now();
  110.  
  111.     }
  112.     public void setDataUtworzenia(int r, int m, int d)
  113.     {
  114.         this.dataUtworzenia=LocalDate.of(r,m,d);
  115.     }
  116.     public LocalDate getDataUtworzenia()
  117.     {
  118.         return this.dataUtworzenia;
  119.     }
  120.     @Override
  121.     public String toString()
  122.     {
  123.  
  124.         return super.toString()+"[ "+this.dataUtworzenia.format(DateTimeFormatter.ISO_DATE)+"]"+"[ "+this.dataUtworzenia.getDayOfYear()+" ]"+"[ "+this.dataUtworzenia.getDayOfWeek()+" ]";
  125.     }
  126.         @Override
  127.     public boolean equals(Object o)
  128.     {
  129.         return super.equals(o)&&this.dataUtworzenia.equals(((PlikVideo)o).dataUtworzenia)&&this.rozszerzenie.equals(((PlikVideo)o).rozszerzenie);
  130.     }
  131.  
  132.  
  133.  
  134.         @Override
  135.         public PlikVideo clone()
  136.  
  137.         {
  138.  
  139.             return new PlikVideo(getNazwa(),getRozmiar(),isCzyDoZapisu(),this.rozszerzenie);
  140.         }
  141.     @Override
  142.     public int compareTo(Plik plik)
  143.     {
  144.         int d=super.compareTo(plik);
  145.         PlikVideo tmp=(PlikVideo)plik;
  146.         if(d==0)
  147.         {
  148.             d=this.dataUtworzenia.compareTo(tmp.dataUtworzenia);
  149.         }
  150.         return d;
  151.     }
  152. private LocalDate dataUtworzenia;
  153. private String rozszerzenie;
  154. }
  155.  
  156. public class Main {
  157.  
  158.     public static void main(String[] args) {
  159.         Plik mały=new Plik("Mały Plik",100,true);
  160.         System.out.println(mały);
  161.         System.out.println(Plik.getIle());
  162.         Plik średni=new Plik(500,false);
  163.         System.out.println(średni);
  164.         PlikVideo małyPlikVideo=new PlikVideo("Mały Film",200,false,"1");
  165.         małyPlikVideo.setDataUtworzenia(2009,02,28);
  166.         System.out.println(małyPlikVideo);
  167.         System.out.println(Plik.getIle());
  168.         Plik[][]spis=new Plik[2][2];
  169.         spis[0][0]=średni;
  170.         spis[0][1]=mały;
  171.         spis[1][0]=małyPlikVideo;
  172.         spis[1][1]=średni;
  173.         for(int i=0;i<spis.length;i++)
  174.         {
  175.             for(int j=0;j<spis[i].length;j++)
  176.  
  177.             {
  178.                 System.out.println(spis[i][j]);
  179.             }
  180.         }
  181.  
  182.         String[]spisNazw=new String[4];
  183.         int f=0;
  184.         for(int i=0;i<2;i++)
  185.         {
  186.             for(int j=0;j<2;j++)
  187.             {
  188.  
  189.                 spisNazw[f]=spis[i][j].getNazwa();
  190.                 f++;
  191.             }
  192.         }
  193.  
  194.  
  195.         /*for(int i=0;i<spisNazw.length;i++)  test czy dobrze dodaje :v
  196.         {
  197.             System.out.print(spisNazw[i]+" ");
  198.         }
  199.         System.out.println();*/
  200.         for(Plik[] a:spis)
  201.         {
  202.             for(Plik b:a)
  203.             {
  204.                 System.out.println(b);
  205.             }
  206.         }
  207.         System.out.println(średni.equals(mały));
  208.         System.out.println(średni.equals(małyPlikVideo));
  209.         int ileVideo=0;
  210.         for(Plik[]a:spis)
  211.         {
  212.             for(Plik b:a)
  213.             {
  214.                 if(b.getClass()==PlikVideo.class)
  215.                 {
  216.                     ileVideo++;
  217.                 }
  218.             }
  219.         }
  220.         System.out.println(ileVideo);
  221.         for(Plik[] a:spis)
  222.         {
  223.             for(Plik b:a)
  224.             {
  225.                 System.out.print(b.getClass()+", ");
  226.             }
  227.         }
  228.     }
  229. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement