Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* fajl je strukturiran obavezno korektno "+.txt"
- * na sledeci nacin:
- * brojElemenata|
- * -int
- * -String
- * -double
- * -if Belo(String) -if Crno(boolean) -if Penusavo(int)|
- * . |
- * . |
- * . |
- * -----------------------------------------------------
- */
- package program1;
- import java.io.*;
- class Vino{
- private int berba;
- private String proizvodjac;
- private double alkohol;
- private int id;
- static int brojac;
- static{
- System.out.println("Inicijalizacija-----------");
- brojac = 0;
- }
- Vino(int berba, String proizvodjac, double alkohol){
- this.berba = berba;
- this.proizvodjac = proizvodjac;
- this.alkohol = alkohol;
- id = ++brojac;
- }
- public String toString(){
- StringBuffer sb = new StringBuffer();
- sb.append("Berba: ").append(berba).append(" ,Proizvodjac: ")
- .append(proizvodjac).append(" ,Procenat alkohola: ").append(alkohol)
- .append(" id: ").append(id);
- return sb.toString();
- }
- }
- class Belo extends Vino{
- private String boja;
- Belo(int berba, String proizvodjac, double alkohol, String boja){
- super(berba,proizvodjac,alkohol);
- this.setBoja(boja);
- }
- public String getBoja() {
- return boja;
- }
- public void setBoja(String boja) {
- this.boja = boja;
- }
- @Override
- public String toString() {
- return "\nBelo vino, nijanse " + boja +"\n" + super.toString();
- }
- }
- class Crno extends Vino{
- private boolean dodataBoja;
- Crno(int berba, String proizvodjac, double alkohol, boolean samoBoja){
- super(berba,proizvodjac,alkohol);
- dodataBoja = samoBoja;
- }
- @Override
- public String toString(){
- if (dodataBoja) {
- return "\nCrno vino, bojeno posebnom sortom grozdja.\n" + super.toString();
- } else {
- return "\nCrno vino, bez dodatih primesa radi postizanja odredjene boje.\n" + super.toString();
- }
- }
- }
- class Penusavo extends Vino {
- int rok;
- Penusavo(int berba, String proizvodjac, double alkohol, int rok) {
- super(berba, proizvodjac, alkohol);
- this.rok = rok;
- }
- @Override
- public String toString() {
- return "\nPenusavo vino sa preporucenim rokom konzumacije do " + rok +". godine.\n" + super.toString();
- }
- }
- public class Program{
- public static void ispis(Vino[] v){
- for(int i = 0; i < v.length; i++){
- System.out.println("ispis " + (i+1) + ": ");
- System.out.println(v[i].toString());
- System.out.println("-------------------");
- }
- }
- public static void main(String[] args) throws Exception{
- BufferedReader unos = new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Unos imena fajla: ");
- String imeFajla = unos.readLine();
- BufferedReader bf = new BufferedReader(new FileReader(imeFajla));
- int brElem = Integer.parseInt(bf.readLine());
- Vino[] kolekcijaVina = new Vino[4];
- for(int i = 0; i < brElem; i++){
- int god = Integer.parseInt(bf.readLine());
- String pro = bf.readLine();
- double alk = Double.parseDouble(bf.readLine());
- String vin = bf.readLine();
- //odabir
- if(vin.equals("Belo")){
- String bo = bf.readLine();
- kolekcijaVina[i] = new Belo(god,pro,alk,bo);
- } else if(vin.equals("Crno")){
- boolean dod = Boolean.parseBoolean(bf.readLine());
- kolekcijaVina[i] = new Crno(god,pro,alk,dod);
- } else {
- int rk = Integer.parseInt(bf.readLine());
- kolekcijaVina[i] = new Penusavo(god,pro,alk,rk);
- }
- }
- bf.close();
- unos.close();
- ispis(kolekcijaVina);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement