Advertisement
pseudocreator

oop1 kolekcijaVina(vezba, fajl)

Nov 19th, 2014
457
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.84 KB | None | 0 0
  1. /* fajl je strukturiran obavezno korektno "+.txt"
  2.  * na sledeci nacin:
  3.  * brojElemenata|
  4.  * -int
  5.  * -String
  6.  * -double
  7.  * -if Belo(String) -if Crno(boolean) -if Penusavo(int)|
  8.  *    .                                                |
  9.  *    .                                                |
  10.  *    .                                                |
  11.  * -----------------------------------------------------
  12.  */
  13. package program1;
  14. import java.io.*;
  15. class Vino{
  16.        
  17.         private int berba;
  18.         private String proizvodjac;
  19.         private double alkohol;
  20.         private int id;
  21.         static int brojac;
  22.        
  23.         static{
  24.                 System.out.println("Inicijalizacija-----------");
  25.                 brojac = 0;
  26.         }
  27.        
  28.         Vino(int berba, String proizvodjac, double alkohol){
  29.                 this.berba = berba;
  30.                 this.proizvodjac = proizvodjac;
  31.                 this.alkohol = alkohol;
  32.                 id = ++brojac;
  33.         }
  34.        
  35.         public String toString(){
  36.                 StringBuffer sb = new StringBuffer();
  37.                 sb.append("Berba: ").append(berba).append(" ,Proizvodjac: ")
  38.                 .append(proizvodjac).append(" ,Procenat alkohola: ").append(alkohol)
  39.                 .append(" id: ").append(id);
  40.                 return sb.toString();
  41.         }
  42.                
  43. }
  44.  
  45. class Belo extends Vino{
  46.         private String boja;
  47.        
  48.         Belo(int berba, String proizvodjac, double alkohol, String boja){
  49.                 super(berba,proizvodjac,alkohol);
  50.                 this.setBoja(boja);
  51.         }
  52.  
  53.         public String getBoja() {
  54.                 return boja;
  55.         }
  56.  
  57.         public void setBoja(String boja) {
  58.                 this.boja = boja;
  59.         }
  60.        
  61.         @Override
  62.         public String toString() {
  63.                 return "\nBelo vino, nijanse " + boja +"\n" + super.toString();
  64.         }
  65.        
  66. }
  67.  
  68. class Crno extends Vino{
  69.         private boolean dodataBoja;
  70.        
  71.         Crno(int berba, String proizvodjac, double alkohol, boolean samoBoja){
  72.                 super(berba,proizvodjac,alkohol);
  73.                 dodataBoja = samoBoja;
  74.         }
  75.        
  76.         @Override
  77.         public String toString(){
  78.                 if (dodataBoja) {
  79.                         return "\nCrno vino, bojeno posebnom sortom grozdja.\n" + super.toString();
  80.                 } else {
  81.                         return "\nCrno vino, bez dodatih primesa radi postizanja odredjene boje.\n" + super.toString();
  82.                 }
  83.         }
  84.  
  85. }
  86.  
  87. class Penusavo extends Vino {  
  88.         int rok;
  89.        
  90.         Penusavo(int berba, String proizvodjac, double alkohol, int rok) {
  91.                 super(berba, proizvodjac, alkohol);
  92.                 this.rok = rok;
  93.         }
  94.        
  95.         @Override
  96.         public String toString() {
  97.                 return "\nPenusavo vino sa preporucenim rokom konzumacije do " + rok +". godine.\n" + super.toString();
  98.         }
  99.        
  100. }
  101.  
  102. public class Program{
  103.        
  104.         public static void ispis(Vino[] v){
  105.                 for(int i = 0; i < v.length; i++){
  106.                         System.out.println("ispis " + (i+1) + ": ");
  107.                         System.out.println(v[i].toString());
  108.                         System.out.println("-------------------");
  109.                 }    
  110.         }
  111.        
  112.         public static void main(String[] args) throws Exception{
  113.                 BufferedReader unos = new BufferedReader(new InputStreamReader(System.in));
  114.                 System.out.println("Unos imena fajla: ");
  115.                 String imeFajla = unos.readLine();
  116.                 BufferedReader bf = new BufferedReader(new FileReader(imeFajla));
  117.                 int brElem = Integer.parseInt(bf.readLine());
  118.                 Vino[] kolekcijaVina = new Vino[4];
  119.                
  120.                 for(int i = 0; i < brElem; i++){
  121.                         int god = Integer.parseInt(bf.readLine());
  122.                         String pro = bf.readLine();
  123.                         double alk = Double.parseDouble(bf.readLine());
  124.                         String vin = bf.readLine();
  125.                        
  126.                         //odabir
  127.                         if(vin.equals("Belo")){
  128.                                 String bo = bf.readLine();
  129.                                 kolekcijaVina[i] = new Belo(god,pro,alk,bo);
  130.                         } else if(vin.equals("Crno")){
  131.                                 boolean dod = Boolean.parseBoolean(bf.readLine());
  132.                                 kolekcijaVina[i] = new Crno(god,pro,alk,dod);
  133.                         } else {
  134.                                 int rk = Integer.parseInt(bf.readLine());
  135.                                 kolekcijaVina[i] = new Penusavo(god,pro,alk,rk);
  136.                         }
  137.                 }
  138.                 bf.close();
  139.                 unos.close();
  140.                
  141.                 ispis(kolekcijaVina);  
  142.         }
  143.        
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement