Advertisement
BorjanCrvenkov

Aips lab1 Patuvanje

Oct 24th, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.75 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3.  
  4. //вашиот код
  5.  
  6. abstract class Patuvanje {
  7. protected String agencija;
  8. protected int cena;
  9.  
  10. public Patuvanje (String agencija,int cena) {
  11. this.agencija=agencija;
  12. this.cena=cena;
  13. }
  14.  
  15. public Patuvanje() {
  16. }
  17.  
  18. public int getCena() {
  19. return this.cena;
  20. }
  21. public void setCena(int c) {
  22. this.cena=c;
  23. }
  24.  
  25. public String getAgencija() {
  26. return this.agencija;
  27. }
  28. public void setAgencija(String a) {
  29. this.agencija=a;
  30. }
  31.  
  32. public abstract int vratiVremeVoDenovi();
  33.  
  34. public static int vratiMinCena(Patuvanje [] niza, int n, Patuvanje zaSporedba) {
  35. int min=9999999;
  36. for(int i=0; i<n; i++) {
  37. if(niza[i].vratiVremeVoDenovi()>zaSporedba.vratiVremeVoDenovi()) {
  38. if(min>niza[i].getCena()) {
  39. min=niza[i].getCena();
  40. }
  41.  
  42. }
  43. }
  44. if(min==9999999) {
  45. return 0;
  46. } else {
  47. return min;
  48. }
  49. }
  50. }
  51.  
  52. class GodishenOdmor extends Patuvanje {
  53. private int denovi;
  54.  
  55. public GodishenOdmor(String agencija,int cena,int denovi) {
  56. super(agencija,cena);
  57. this.denovi=denovi;
  58. }
  59.  
  60. public String getAgencija() {
  61. return this.agencija;
  62. }
  63.  
  64. public int getCena() {
  65. return this.cena-1000;
  66. }
  67.  
  68. public int vratiVremeVoDenovi() {
  69. return this.denovi;
  70. }
  71.  
  72. }
  73.  
  74.  
  75. class PraznicnoPatuvanje extends Patuvanje {
  76. private int pDen,pMesec,kDen,kMesec;
  77.  
  78. public PraznicnoPatuvanje(String agencija,int cena,int pDen,int pMesec,int kDen,int kMesec) {
  79. super(agencija,cena);
  80. try {
  81. if(pMesec>kMesec) {
  82. throw new Exception();
  83. } else if(pMesec==kMesec) {
  84. if(pDen>kDen) {
  85. throw new Exception();
  86. }
  87. }
  88. this.pDen=pDen;
  89. this.pMesec=pMesec;
  90. this.kDen=kDen;
  91. this.kMesec=kMesec;
  92.  
  93. } catch(Exception e) {
  94. this.pDen=kDen;
  95. this.pMesec=kMesec;
  96. this.kDen=pDen;
  97. this.kMesec=pMesec;
  98. System.out.println("Iskluchok");
  99.  
  100. }
  101. }
  102.  
  103. public PraznicnoPatuvanje(){
  104. }
  105.  
  106. public String getAgencija() {
  107. return this.agencija;
  108. }
  109.  
  110. public int getCena() {
  111. return this.cena;
  112. }
  113.  
  114. public int getpDen() {
  115. return this.pDen;
  116. }
  117. public int getpMesec() {
  118. return this.pMesec;
  119. }
  120.  
  121. public int getkDen() {
  122. return this.kDen;
  123. }
  124. public int getkMesec() {
  125. return this.kMesec;
  126. }
  127. public int vratiVremeVoDenovi() {
  128. return (kMesec-pMesec)*30+(kDen-pDen);
  129. }
  130. }
  131.  
  132.  
  133.  
  134.  
  135. public class Test {
  136.  
  137.  
  138. public static void main(String[] args) {
  139.  
  140.  
  141. int n;
  142. Scanner in=new Scanner(System.in);
  143. n=in.nextInt();
  144.  
  145. Patuvanje nizaPatuvanje[]=new Patuvanje[n];
  146.  
  147. for (int i=0; i<n; i++) {
  148. int tip=in.nextInt();
  149. if (tip==0) {
  150. String ime=in.next();
  151. int cena =in.nextInt();
  152. int vreme=in.nextInt();
  153. nizaPatuvanje[i]=new GodishenOdmor(ime,cena,vreme);
  154. } else {
  155. String ime=in.next();
  156. int cena =in.nextInt();
  157. int pocD=in.nextInt();
  158. int pocM=in.nextInt();
  159. int krajD=in.nextInt();
  160. int krajM=in.nextInt();
  161. nizaPatuvanje[i]=new PraznicnoPatuvanje(ime,cena,pocD,pocM, krajD,krajM);
  162.  
  163. }
  164. }
  165.  
  166. //решение на барање 1
  167. String rez=new String();
  168. for(int i=0; i<n; i++) {
  169. PraznicnoPatuvanje p = new PraznicnoPatuvanje();
  170. if(nizaPatuvanje[i] instanceof PraznicnoPatuvanje) {
  171. p=(PraznicnoPatuvanje)nizaPatuvanje[i];
  172. if((p.getpMesec()==6)) {
  173. rez+=p.getAgencija() + " ";
  174. }
  175. }
  176.  
  177. }
  178. System.out.println(rez);
  179.  
  180.  
  181. //решение на барање 2
  182. double prosek=0.0;
  183. for(int i=0; i<n; i++) {
  184. prosek+=nizaPatuvanje[i].vratiVremeVoDenovi();
  185. }
  186. prosek/=n;
  187. System.out.printf("%.1f\n",prosek);
  188.  
  189.  
  190.  
  191. //решение на барање 3
  192. String ime=in.next();
  193. int cena =in.nextInt();
  194. int vreme=in.nextInt();
  195.  
  196. GodishenOdmor g=new GodishenOdmor(ime,cena,vreme);
  197.  
  198.  
  199.  
  200.  
  201. //решение на барање 4
  202. System.out.println(Patuvanje.vratiMinCena(nizaPatuvanje,nizaPatuvanje.length,g));
  203.  
  204.  
  205. }
  206.  
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement