10
Objektno-orijentisano programiranje vežbe 01

Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

  • Upload
    dokien

  • View
    224

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Objektno-orijentisano programiranje

vežbe 01

Page 2: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Instalacija Eclipse razvojnog okruženja1. Otvoriti u Internet browser-u lokaciju:

http://www.eclipse.org/downloads/eclipse-packages/

2. Pronaći “Eclipse IDE for Java Developers” i izabrati 32-bitnu ili 64-bitnu verziju

3. Kliknuti “Download”

4. Otvoriti preuzetu .zip arhivu, a folder eclipse koji se nalazi u njoj kopirati na putanju:f:\oop\

5. Pokrenuti eclipse.exe koji se nalazi na putanji:f:\oop\eclipse\eclipse.exe

6. Kao putanju za workspace izabrati:f:\oop\workspace

Page 3: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Kreiranje novog projekta

1. File → New → Java Project

2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish

Kreiranje klase1. File → New → Class

2. U polje Name upisati naziv klase (npr. Student), a potom kliknuti Finish* po potrebi se može izabrati opcija: public static void main(String[] args)

Page 4: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Klasa

public class Student {

public String ime; public String prezime;

public Student(String ime,String prezime) { this.ime = ime; this.prezime = prezime; }

public void ispis() { System.out.println(“Ime:“ + ime); System.out.println(“Prezime:“ + prezime); }

}

Page 5: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Klasa

public class Student {

public String ime; public String prezime;

public Student(String ime,String prezime) { this.ime = ime; this.prezime = prezime; }

public void ispis() { System.out.println(“Ime:“ + ime); System.out.println(“Prezime:“ + prezime); }

}

Objekat

...

String ime = “Jovan”; String prezime = “Jovanovic”; Student s = new Student(ime, prezime); s.ispis();

...

Page 6: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Upotreba get i set metodapublic class Student { private String ime; private String prezime; private float prosek; public Student(String ime,String prezime,float prosek) { this.ime = ime; this.prezime = prezime; this.prosek = prosek; } public String getIme() { return ime; } public void setIme(String ime) { this.ime = ime; } public String getPrezime() { return prezime; } public void setPrezime(String prezime) { this.prezime = prezime; } public float getProsek() { return prosek; } public void setProsek(float prosek) { this.prosek = prosek; }}

...

String ime = “Jovan”;String prezime = “Jovanovic”;float prosek = 7.5f;Student s = new Student(ime,prezime,prosek);

...

s.setProsek(7.9f);

...

Page 7: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Generisanje get i set metoda

1. Source → Generate Getters and Setters…

2. Izabrati atribute za koje se kreiraju get i set metode

3. Za Insert position izabrati Last Member

4. Kliknuti OK

Page 8: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Učitavanje podataka iz datoteke

import java.io.*;public class Predmet {

public String naziv; public int brojBodova;

public Predmet(String naziv, int brojBodova) { this.naziv = naziv; this.brojBodova = brojBodova; }

public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new FileReader("oop.txt")); String naziv = in.readLine(); int brojBodova = Integer.parseInt(in.readLine()); Predmet oop = new Predmet(naziv, brojBodova); in.close(); }

}

Objektno-orijentisano programiranje7

oop.txt

Page 9: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Učitavanje niza podataka iz datotekeimport java.io.*;public class Student { public String ime; public float prosek; public Student(String ime, float prosek) { this.ime = ime; this.prosek = prosek; } public void ispis() { System.out.println(“Ime:“ + ime); System.out.println(“Prosek:“ + prosek); } public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new FileReader("studenti.txt")); int brStudenata = Integer.parseInt(in.readLine()); Student[] niz = new Student[brStudenata]; for (int i=0; i<brStudenata; i++) { String ime = in.readLine(); float prosek = Float.parseFloat(in.readLine()); niz[i] = new Student(ime, prosek); } in.close(); }}

2Jovan7.5Petar9.5

studenti.txt

Page 10: Objektno-orijentisano · PDF fileKreiranje novog projekta 1. File → New → Java Project 2. U polje Project name upisati naziv projekta (npr. Zadatak01), pa kliknuti Finish Kreiranje

Zadatak● Klasa Destinacija sadrži naziv destinacije (String), njenu udaljenost (int) od Novog Sada i cenu

aranžmana (double). Klasa poseduje konstruktor koji inicijalizuje sve atribute, set i get metode za svaki atribut.

● Klasa Agencija predstavlja jednu turističku agenciju koja u konstruktoru učitava niz destinacija iz tekstualnog fajla (u prvoj liniji je broj raspoloživih destinacija, a u svake 3 naredne linije su podaci o po jednoj destinaciji: naziv, udaljenost, cena).Pored konstruktora klasa Agencija ima i sledeće metode:○ int min() koji vraća redni broj (indeks u nizu) najpovoljnije destinacije○ void info() koja ispisuje detalje o destinacijama i informaciju o tome koja je destinacija

najpovoljnija.● Klasa Putnik sadrži ime i budžet (double) u kom se čuva budžet koji putnik može da izdvoji za

putovanja. Oba se inicijalizuju u konstruktoru. Ova klasa ima i metod double plan(Agencija s) kojim se vrši plan putovanja za putnika preko date agencije. Metod putniku umanjuje budžet za putovanja iz ponude redom, po cenama od najniže ka najvišoj, sve dok mu budžet dozvoljava. Metod vraća koliko je ukupno novca potrebno za realizaciju svih odabranih putovanja.

● Napisati Java program Putovanja koji simulira rad jedne agencije na osnovu podataka iz datog ulaznog fajla ("Agencija.txt"). Kreirati dva putnika (s proizvoljnim vrednostima) i planirati njihova putovanja, a potom za svakog od njih ispisati koliko mu novca ostaje nakon plaćanja troškova putovanja.