You are on page 1of 2

Elektronski

 fakultet  u  Nišu  –  Katedra  za  računarstvo  –  Programski  jezici  


1.  kolokvijum  2016.  
TERMIN  2  -­‐  GRUPA  1  
 

 
Na  programskom  jeziku  Java,  u  paketu  ddr  kreirati  apstraktnu  klasu  Auto,  sa  zaštićenim  atributima:  
• boolean  tng  (da  li  radi  na  plin)  
• int  age  (koliko  je  star)  
• int  position  (koji  je  u  redu  na  punpi)  i  
• Pump  myPump  (koja  pokazuje  na  pumpu  gde  čeka,  a  koji  je  objekat  klase  Pump).  
 
 Klasa  takođe  sadrži  i  apstraktni  metod  alert()  koji  vraća  da  li    je  auto  u  opasnosti.  
 
o Klasa  sadrži  i  apsktraktni  metod  rec()  kojim  auto  svoje  podatke  upisuje  u  tekstualni  fajl.  
o Trenutni  broj  kreiranih  auta  čuva  se  u  atributu  klase  int   num  (dok  još  uvek  nema  kreiranih  auta,  on  je  
nula).  
o Ova  klasa  sadrži  i  apstraktni  metod  stopBy(Pump  p)  putem  koga  dobija  pumpu  gde  čeka.  Red  na  pumpi  
je  kao  niz  (svaki  auto  ima  poziciju).  
o Auto  je  u  opasnosti  ako  su  i  auto  ispred  njega  i  auto  iza  njega  na  plin.  
 
Klasa  Trabant  nasleđuje  klasu  Auto.  Ima  2  konstruktora.  
• Konstruktor  bez  argumenata  učitava  podatke  sa  tastature  (nakon  učitavanja  ih  štampa).  Ako  je  age  
veći   od   30,   baciće   izuzetak   tipa   Steampunk   a   catch   blok   će   obavestiti   i   age   postaviti   na   30.  
Kontstruktor  poziva  i  metod  rec()  koji  odmah  snima  podatke  tog  Trabanta  u  fajl.  
• Drugi   konstruktor   ima   jednan   argument   tipa   String   fileName   i   učitava   podatke   Trabanta   iz  
tekstualnog  fajla  (i  štampa  te  podatke).  
 
Metod   rec()   snima   u   binarni   fajl   num.dat   trenutni   broj   kreiranih   Trabanata   (to   se   dešava   pri   svakom  
kreiranju   novog,   a   fajl   svaki   put   automatski   biva   pregažen).   Potom   kreira   tekstualni   fajl   čije   ime   je   broj  
trenutnog  Trabanta  (prvi  kreira  1.txt,  sledeći  kreira  2.txt  itd)  i  u  njega  upisuje  svoje  podatke.  
 
Klasa  Pump  ima  privatni  atribut  
• int  traNumber  koji  čuva  broj  Trabanata  koji  čekaju  i  
• niz  traQueue[]  tipa  Auto,  koji  čuva  same  Trabante.  
• Metod   openPump()   čita   iz   bin.   fajla   ukupan   broj   Trabanata,   inicijalizuje   niz   i   popunjava   ga  
Trabantima   čije   podatke   čita   iz   teksutalnih   fajlova   (za   šta   iskoristiti   odgovarajući   konstruktor  
Trabanata).  Imena  fajlova  za  učitavanje  generiše  sam.  
• Metod  htz()  štampa  sve  Trabante  koji  su  u  nevolji,  tako  što  svakom  poziva  metod  za  proveru  nevolje.  
 
Svaki  put  kada  se  kreira  objekat,  kada  se  upiše  u  fajl  ili  pročita,  kada  se  nešto  sa  nečim  poredi,  odštampati  na  
ekranu   bitne   podatke   (npr.   "čeka   6   Trabanata,   Trabant   1   ima   poziciju   3,   star   je   28   godina   i   ne   radi   na   plin  
itd...").  Namerno  izazvati  jedan  izuzetak  tipa  Steampunk  i  namerno  dovesti  makar  jedan  Trabant  u  opasnost.  
 
Pogledati   uputstvo   za   imenovanje   i   eksportovanje   projekata   na   sledećoj   strani.   Nepravilo   eksportovani  
projekti  neće  biti  uzeti  u  razmatranje.    
 
Uputstvo  za  eksportovanje  projekta  
 

U  slučaju  da  je  naziv  projekta  drugačiji,  a  zadatak  je  već  gotov,  promeniti   naziv   projekta  desnim  klikom  na  
projekat   i   izborom   Refactor   →   Rename.   Dakle,   konačan   naziv   projekta   treb   da   bude   broj   indeksa,   razmak,  
ime,  razmak,  prezime.  
 

Desni  klik  na  projekat  (sa  leve  strane  Eclipse-­‐a),  i  izabrati  Export.  
 

 
 
Od  ponuđenih  načina  eksportovanja  izabrati  General  →  File  System.  
 

 
 
Izabrati  kao  destinaciju  za  eksportovanje  Desktop.  
 

 
 
Nakon   klika   na   dugme   Finish,   na   desktopu   bi   trebalo   da   se   pojavi   novi   folder   sa   nazivom   istim   kao   naziv  
projekta.  Ovaj  folder  prebaciti  na  flash  drive  dežurnog  asistenta  po  završetku  rada.  
 

You might also like