Titan Quest Fans Forum
Titan Quest - Anniversary Edition => Java private => Ragnarok => Java => Topic started by: efko on 31 October 2019, 04:17:14
-
29.10.
72 Fibonacijev niz
// 0 1 1 2 3 | 5 8 13 21 34
// n = 5
// Napisati funkciju koja ispisuje N elemenata fibonacijevog niza
package fun1fibonaci_niz;
import java.util.Scanner;
public class Fi1 {
public static void main(String[] args) {
// fibonacijev niz
// 0 1 1 2 3 | 5 8 13 21 34
// n = 5
// Napisati funkciju koja ispisuje N elemenata fibonacijevog niza
fib();
}
static void fib() {
Scanner s = new Scanner(System.in);
System.out.println("Unesite element N:");
int n = s.nextInt();
int fib[] = new int [n];
fib[0] = 0;
System.out.println(fib[0]);
fib[1] = 1;
System.out.println(fib[1]);
for (int i = 2; i < n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
System.out.println(fib[i]);
}
}
}
Result:
Unesite element N:
5
0
1
1
2
3
73 Fibonacijev niz
// 0 1 1 2 3 | 5 8 13 21 34
// n = 5
// Napisati funkciju koja ispisuje N elemenata fibonacijevog niza
package fun1fibonaci_niz_b;
import java.util.Scanner;
public class Fi1_b {
public static void main(String[] args) {
// fibonacijev niz
// 0 1 1 2 3 | 5 8 13 21 34
// n = 5
// Napisati funkciju koja ispisuje N elemenata fibonacijevog niza
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
fibonacijevNizN2(n);
}
static void fibonacijevNizN2(int n) {
int br1 = 0;
int br2 = 1;
int sumaPredDva = 0;
for (int i = 1; i <= n; ++i) {
System.out.print(br1 + " ");
sumaPredDva = br1 + br2;
br1 = br2;
br2 = sumaPredDva;
}
}
}
Result:
5
0 1 1 2 3
74 Napisati program koji mnozi sve neparne brojeve ucitanog niza duzine k
// Mnozenje elemenata odraditi u funkciji kojoj se prosleduje ucitani niz
// Za odredivanje parnosti elemenata napisati zasebnu funkciju
// U glavnom programu ucitati niz i prikazati rezultate
package fun2parno_mnozenje_funkc;
import java.util.Scanner;
public class Fi2 {
public static void main(String[] args) {
// Napisati program koji mnozi
// sve neparne brojeve ucitanog niza duzine k
// Mnozenje elemenata odraditi u funkciji kojoj se prosleduje ucitani niz
// Za odredivanje parnosti elemenata napisati zasebnu funkciju
// U glavnom programu ucitati niz i prikazati rezultate
Scanner s = new Scanner(System.in);
int k = s.nextInt();
int[] n = new int[k];
for (int i = 0; i < n.length; i++) {
n[i] = s.nextInt();
}
int prod = pomnozi(n);
System.out.println(prod);
}
static int pomnozi(int[] n) {
int prod = 1;
for (int i = 0; i < n.length; i++) {
if(daLiJeNeparan(n[i])) {
prod = prod * n[i];
}
}
return prod;
}
static boolean daLiJeNeparan(int broj) {
return broj % 2 != 0;
}
}
Result:
5
2 4 5 3 2
15
75 Napisati funkciju koja za unetu kategoriju vozila vraca cenu putarine.
// U glavnom programu dispecer unosi kategorije vozila sve dok ne zavrsi smenu.
// Za svaku unetu kategoriju vozila prikazati njenu kategoriju i cenu putarine.
// Smena se zavrsava kada dispecer unese -1.
// Nakon smene program ispisuje bilans stanja.
package fun3kategor_suma_switch;
import java.util.Scanner;
public class Fi3 {
public static void main(String[] args) {
// Napisati funkciju koja za unetu kategoriju vozila vraca cenu putarine.
// U glavnom programu dispecer unosi kategorije vozila sve dok ne zavrsi smenu.
// Za svaku unetu kategoriju vozila prikazati njenu kategoriju i cenu putarine.
// Smena se zavrsava kada dispecer unese -1.
// Nakon smene program ispisuje bilans stanja.
// Tabela sadrzi kategorije i cene
// kategorije || cene putarine
// 1 1240
// 2 800
// 10 770
// 9 80
// 6 240
// koristi se switch , int , int
// bilans stanja je suma
Scanner s = new Scanner(System.in);
// int[] niz = { 1, 2, 10, 9, 6 }; - ne treba
System.out.print("Izaberi kategoriju: ");
int kategorija = s.nextInt();
int cena;
int suma = 0;
while (kategorija != -1) {
System.out.println("Za kategoriju " + kategorija + " cena putarine je " + kategorijacena(kategorija));
cena = kategorijacena(kategorija);
suma = suma + cena;
kategorija = s.nextInt();
}
System.out.println(suma);
}
static int kategorijacena(int n) {
switch (n){
case 1:
return 1240;
case 2:
return 800;
case 10:
return 770;
case 9:
return 80;
case 6:
return 240;
default:
return 0;
}
// static void
}
}
Result:
Izaberi kategoriju: 10
Za kategoriju 10 cena putarine je 770
Domaci 28.10.
76 - Napisati metodu koja prima broj N i ucitava niz.
// Zatim u drugoj metodi sumirati elemente prosledenog niza i vratiti njihovu sumu.
// Pozvati metode i ispisati rezultat u glavnom programu.
// metoda za ucitavanja kao parametar prima broj elemenata N, a vraca niz.
// metoda za sumiranje kao parametar prima niz, a vraca sumu
Scanner s = new Scanner(System.in);
System.out.println("Ucitati N: ");
int n = s.nextInt();
int [] niz = ucitajNiz (n);
int suma = 0;
suma = sumirajNiz (suma, niz);
System.out.print("Zbir elemenata niza je: " + suma);
}
static int [] ucitajNiz (int m) {
int[] niz = new int[m];
Scanner s = new Scanner(System.in);
System.out.println("Unesite niz: ");
for (int i = 0; i < niz.length; i++) {
niz[i] = s.nextInt();
}
return niz;
}
static int sumirajNiz(int m, int[] niz) {
int suma = 0;
for (int i = 0; i < niz.length; i += 1) {
suma = suma + niz[i];
}
return suma;
Result:
77 Korisnik ucitava tri niza sa standardnog ulayza duzine n, m i k;
// Za ucitavanje koristiti funkciju. Za svaki niz se koristi funkcija kao prethodnom zadatku.
// Prikazati maksimum svakog niza na ekranu i odredite najveci od tri maksimuma.
// Napisati metodu koja pronalazi maksimalan broj u nizu,
// funkcija za parametar prima niz, a vraca maksimalan broj.
// Napomena: Ne koristiti ugradjene funkcije za maksimum.
Scanner s = new Scanner(System.in);
System.out.println("Unesite N: ");
int N = s.nextInt();
int[] nizN = napraviNiz(N);
int maxN = 0;
for (int i = 0; i < nizN.length; i += 1) {
maxN = maxOdNIza(maxN, nizN);
}
System.out.println("Unesite M: ");
int M = s.nextInt();
int[] nizM = napraviNiz(M);
int maxM = 0;
for (int i = 0; i < nizM.length; i += 1) {
maxM = maxOdNIza(maxM, nizM);
}
System.out.println("Unesite K: ");
int K = s.nextInt();
int[] nizK = napraviNiz(K);
int maxK = 0;
for (int i = 0; i < nizK.length; i += 1) {
maxK = maxOdNIza(maxK, nizK);
}
System.out.println("Najveci iz nizN: " + (maxN));
System.out.println("Najveci iz nizM: " + (maxM));
System.out.println("Najveci iz nizK: " + (maxK));
int[] sva3 = new int[3];
{
sva3[0] = maxN;
sva3[1] = maxM;
sva3[2] = maxK;
}
int maxSva3 = 0;
for (int i = 0; i < sva3.length; i += 1) {
maxSva3 = maxOdNIza(maxSva3, sva3);
}
System.out.println("Najveci maksimum je: " + maxSva3);
}
static int[] napraviNiz(int x) {
int[] niz = new int[x];
Scanner s = new Scanner(System.in);
System.out.println("Unesite niz: ");
for (int i = 0; i < niz.length; i++) {
niz[i] = s.nextInt();
}
return niz;
}
static int maxOdNIza(int a, int[] niz) {
int max = niz[0];
for (int i = 1; i < niz.length; i++) {
if (max < niz[i]) {
max = niz[i];
}
}
return max;
Result:
Domaci 29.10.
78 Napisati metodu koja za prosledeni niz vraca sumu svih elemenata deljivih sa poslatim brojem K.
// Pozvati metode i ispisati rezultat.
Scanner s = new Scanner(System.in);
System.out.println("Unesite K: ");
int K = s.nextInt();
int[] niz = napravitiNiz(K);
int suma;
suma = vratitiSumu(K, niz);
System.out.println("Suma brojeva niza koji su deljivi sa K: " + suma);
}
static int[] napravitiNiz(int k) {
Scanner s = new Scanner(System.in);
System.out.println("Unesite niz: ");
int[] niz = new int[k];
for (int i = 0; i < niz.length; i += 1) {
niz[i] = s.nextInt();
}
return niz;
}
static int vratitiSumu(int k, int[] niz) {
int suma = 0;
for (int i = 0; i < niz.length; i += 1) {
if (niz[i] % k == 0) {
suma = suma + niz[i];
}
}
return suma;
Result:
31.10. Klase
79 Covek
package klase;
public class Covek {
public int visina;
public String ime;
public int tezina;
public double visinaToImperial()
{
double inch = visina/ 2.54;
return inch;
}
}
Result:
/ Nije main, rezultat u 80.
80 TestCovek - rezultat, main
package klase;
public class TestCovek {
public static void main(String[] args) {
Covek c1 = new Covek();
Covek c2 = new Covek();
Covek c3 = new Covek();
c1.ime = "Mika";
c2.ime = "Pera";
c3.ime = "Laza";
c1.visina = 200;
System.out.print(c1.visinaToImperial());
}
}
Result:
78.74015748031496
81 Pravougaonik
package klase;
public class Pravougaonik {
public int a;
public int b;
public int obim()
{
return 2*a + 2*b;
}
public int povrsina()
{
return a*b;
}
}
Result:
/ Nije main, rezultat u 82.
82 PravougaonikTest - rezultat, main
package klase;
public class PravougaonikTest {
public static void main(String[] args) {
Pravougaonik p1 = new Pravougaonik();
p1.a = 5;
p1.b = 8;
System.out.println(p1.obim());
System.out.println(p1.povrsina());
}
}
Result:
26
40
-
01.11. Vidljivost promenljivih, Konstruktori
83 Auto
// Napisati klasu Auto koja sadrzi sledeca polja
// -Model auta
// -Marku auta
// -godinu proizvodnje
// Napisati funkcije
// -Prikazuje sve informacije o autu na ekranu
// Model - Marka - Godinu proizvodnje
// -Funkciju koja ispituje da li je auto oldtimer //stariji od 1990
// -Funkciju koja provera da li je auto marke "Audi"
// Formirati tri objekta klase Auto i svakom objektu postaviti sva polja i testirati funkcije
package promenljiveKonstruktori;
public class Auto {
private String model;
private String marka;
private int godina;
public Auto() {} // difoltni konstruktor
public Auto(String model, // konstruktor
String marka, // sa parametrima
int godina) {
this.model = model;
this.marka = marka;
this.godina = godina;
}
public Auto(String model, String marka) {
this.model = model;
this.marka = marka;
}
public String getModel() {
return this.model;
}
public void setModel(String model) {
this.model = model;
}
public void printAuto()
{
System.out.println(this.model +
" - " +
this.marka +
" - " + this.godina);
}
public boolean isAudi()
{
return this.marka == "Audi";
}
public boolean isOldtimer()
{
return this.godina < 1990;
}
}
Result:
/ Nije main, rezultat u 84.
84 AutoMain - rezultat, main
// Napisati klasu Auto koja sadrzi sledeca polja
// -Model auta
// -Marku auta
// -godinu proizvodnje
// Napisati funkcije
// -Prikazuje sve informacije o autu na ekranu
// Model - Marka - Godinu proizvodnje
// -Funkciju koja ispituje da li je auto oldtimer //stariji od 1990
// -Funkciju koja provera da li je auto marke "Audi"
// Formirati tri objekta klase Auto i svakom objektu postaviti sva polja i testirati funkcije
package promenljiveKonstruktori;
public class AutoMain {
public static void main(String[] args) {
Auto a = new Auto();
Auto a1 = new Auto("Yugo", "Zastava", 1989);
// a1.godina = 1989;
// a1.marka = "Zastava";
// a1.model = "Yugo";
System.out.println(a1.isAudi());
System.out.println(a1.isOldtimer());
a1.printAuto();
}
}
Result:
false
true
Yugo - Zastava - 1989
85 Knjiga
// Napisati klasu Knjiga koja cuva podatke o
// godini kada je izdata knjiga, ISBN
// broju, autorima (moze biti vise autora knjige),
// naslovu knjige i broju stranica
// Pri kreiranju objekta obavezno je unosenje svih atributa klase
// ISBN ne sme biti menjan
// Klasa sadrzi sledece funkcije
// Funkciju koja ispitituje da li knjiga izdata pre ili posle ucitane godine (prima se kao paramater funkcije)
// Funkciju koja ispisuje informacije o knjizi u sledecem formatu
// Autor1, Autor2, ..., AutorN -> Naslov knjige (godinaIzdanja)
// Funkciju koja nam vraca broj autora
package promenljiveKonstruktori;
public class Knjiga {
private int godina;
private String ISBN;
private String[] autori;
private int brStanica;
private String naslov;
public Knjiga(int godina,
String ISBN,
int brStanica,
String naslov,
String[] autori) {
this.godina = godina;
this.ISBN = ISBN;
this.brStanica = brStanica;
this.naslov = naslov;
this.autori = autori;
}
public int getGodina() {
return godina;
}
public void setGodina(int godina) {
this.godina = godina;
}
public String getISBN() {
return ISBN;
}
public String[] getAutori() {
return autori;
}
public void setAutori(String[] autori) {
this.autori = autori;
}
public int getBrStanica() {
return brStanica;
}
public void setBrStanica(int brStanica) {
this.brStanica = brStanica;
}
public String getNaslov() {
return naslov;
}
public void setNaslov(String naslov) {
this.naslov = naslov;
}
public boolean daLiJeIzdataPre(int godina) {
return godina > this.godina;
}
public int getBrojAutora() {
return this.autori.length;
}
public void stamaj() {
for (int i = 0; i < autori.length; i++) {
System.out.print(autori[i] + ", ");
}
System.out.print("-> " + this.naslov + "("+ this.godina +")");
}
}
Result:
/ Nije main, rezultat u 86.
86 KnjigaMain - rezultat, main
// Napisati klasu Knjiga koja cuva podatke o
// godini kada je izdata knjiga, ISBN
// broju, autorima (moze biti vise autora knjige),
// naslovu knjige i broju stranica
// Pri kreiranju objekta obavezno je unosenje svih atributa klase
// ISBN ne sme biti menjan
// Klasa sadrzi sledece funkcije
// Funkciju koja ispitituje da li knjiga izdata pre ili posle ucitane godine (prima se kao paramater funkcije)
// Funkciju koja ispisuje informacije o knjizi u sledecem formatu
// Autor1, Autor2, ..., AutorN -> Naslov knjige (godinaIzdanja)
// Funkciju koja nam vraca broj autora
package promenljiveKonstruktori;
public class KnjigaMain {
public static void main(String[] args) {
String [] str = {"Autor1","Autor2"};
Knjiga k = new Knjiga(1990,"17B44556677",200,"naslov knjige",str );
k.daLiJeIzdataPre(1900);
System.out.println(k.getBrojAutora());
k.stamaj();
}
}
Result:
2
Autor1, Autor2, -> naslov knjige(1990)
87 Auto1
package promenljiveMoj;
public class Auto1 {
// Napisati klasu Auto koja sadrzi sledeca polja:
// model auta
// marku auta
// godinu proizvodnje
// Napisati funkcije
// Prikazuje sve informacije o autu na ekranu
// Model - Marka - Godina proizvodnje
// Funkciju koja ispituje da li je auto oldtimer// staiji od 1990
// Funkciju koja proverava da li je auto marke "Audi"
// Formirati tri objekta klase Auto i svakom objektu postaviti sva polja i testirati funkcije
String model;
String marka;
int godinaProizvodnje;
public void ispisi () {
System.out.println("Model automobila je:" + model);
System.out.println("Model automobila je:" + marka);
System.out.println("Godina proizvodnje automobila je " + godinaProizvodnje);
}
public boolean oldtimer() {
return godinaProizvodnje < 1990;
}
public boolean daliJeAudi() {
return marka.equals("Audi");
// boolean je za true/false
}
}
Result:
/ Nije main, rezultat u 88.
88 Auto1Main - rezultat, main
package promenljiveMoj;
public class Auto1Main {
public static void main(String[] args) {
// Napisati klasu Auto koja sadrzi sledeca polja:
// model auta
// marku auta
// godinu proizvodnje
// Napisati funkcije
// Prikazuje sve informacije o autu na ekranu
// Model - Marka - Godina proizvodnje
// Funkciju koja ispituje da li je auto oldtimer// staiji od 1990
// Funkciju koja proverava da li je auto marke "Audi"
// Formirati tri objekta klase Auto i svakom objektu postaviti sva polja i testirati funkcije
Auto1 a1 = new Auto1();
Auto1 a2 = new Auto1();
Auto1 a3 = new Auto1();
a1.model = "A5";
a2.model = "R4";
a3.model = "C3";
a1.marka = "Audi";
a2.marka = "Renault";
a3.marka = "Citroen";
a1.godinaProizvodnje = 2007;
a2.godinaProizvodnje = 1961;
a3.godinaProizvodnje = 2002;
a1.ispisi();
System.out.println(a1.oldtimer());
System.out.println(a1.daliJeAudi());
System.out.println("--------------");
a2.ispisi();
System.out.println(a2.oldtimer());
System.out.println(a2.daliJeAudi());
System.out.println("--------------");
a3.ispisi();
System.out.println(a3.oldtimer());
System.out.println(a3.daliJeAudi());
System.out.println("--------------");
}
}
Result:
Model automobila je:A5
Model automobila je:Audi
Godina proizvodnje automobila je 2007
false
true
--------------
Model automobila je:R4
Model automobila je:Renault
Godina proizvodnje automobila je 1961
true
false
--------------
Model automobila je:C3
Model automobila je:Citroen
Godina proizvodnje automobila je 2002
false
false
--------------
89 Knjiga1
package promenljiveMoj;
public class Knjiga1 {
// Napisati klasu Knjiga koja cuva podatke o
// godini kada je izdata knjiga, ISBN
// broju, autorima (moze biti vise autora knjige),
// naslovu knjige i broju stranica
// Pri kreiranju objekta obavezno je unosenje svih atributa klase
// ISBN ne sme biti menjan
// Klasa sadrzi sledece funkcije
// Funkciju koja ispitituje da li knjiga izdata
// pre ili posle ucitane godine (prima se kao paramater funkcije)
// Funkciju koja ispisuje informacije o knjizi u sledecem formatu
// Autor1, Autor2, ..., AutorN -> Naslov knjige (godinaIzdanja)
// Funkcijau koja nam vraca broj autora
private int godIzdanja;
private int ISBNbroj;
private String[] autor;
private String naslovKnjige;
private int brojStranica;
public Knjiga1(int godIzdanja, int ISBNbroj, String[] autor, String naslovKnjige, int brojStranica) {
this.godIzdanja = godIzdanja;
this.ISBNbroj = ISBNbroj;
this.autor = autor;
this.naslovKnjige = naslovKnjige;
this.brojStranica = brojStranica;
}
public int getGodIzdanja() {
return godIzdanja;
}
public void setGodIzdanja(int godIzdanja) {
this.godIzdanja = godIzdanja;
}
public int getISBNbroj() {
return ISBNbroj;
}
public String[] getAutor() {
return autor;
}
public void setAutor(String[] autor) {
this.autor = autor;
}
public String getNaslovKnjige() {
return naslovKnjige;
}
public void setNaslovKnjige(String naslovKnjige) {
this.naslovKnjige = naslovKnjige;
}
public int getBrojStranica() {
return brojStranica;
}
public void setBrojStranica(int brojStranica) {
this.brojStranica = brojStranica;
}
public boolean preIposle(int godina) {
return getGodIzdanja() < godina;
}
public void ispisi() {
System.out.println(getAutor() + " -> " + getNaslovKnjige() + "(" + getGodIzdanja() + ")");
}
public int brojAutora() {
return autor.length;
}
}
Result:
/ Nije main, rezultat u 90.
90 Knjiga1Main - rezultat, main
package promenljiveMoj;
public class Knjiga1Main {
public static void main(String[] args) {
// Napisati klasu Knjiga koja cuva podatke o
// godini kada je izdata knjiga, ISBN
// broju, autorima (moze biti vise autora knjige),
// naslovu knjige i broju stranica
// Pri kreiranju objekta obavezno je unosenje svih atributa klase
// ISBN ne sme biti menjan
// Klasa sadrzi sledece funkcije
// Funkciju koja ispitituje da li knjiga izdata
// pre ili posle ucitane godine (prima se kao paramater funkcije)
// Funkciju koja ispisuje informacije o knjizi u sledecem formatu
// Autor1, Autor2, ..., AutorN -> Naslov knjige (godinaIzdanja)
// Funkcijau koja nam vraca broj autora
Knjiga1 k1 = new Knjiga1(1985, 1478285, new String[] { "Pera", "Mika", "Laza" }, "Java za pocetnike", 285);
System.out.println(k1.getNaslovKnjige());
System.out.println(k1.brojAutora());
}
// godina int , autori niz , naslov string,
// this. godina = godina
// string isbn = isbn
}
Result:
Java za pocetnike
3
Domaci 31.10.
91 Dom13_1
Napisati klasu Kompozicija koja od polja sadrži:
// Naziv kompozicije,
// Ime kompozitora,
// Godina izlaska.
Od metoda, klasa sadrži:
// Metodu koja štampa sve informacije o kompoziciji,
// Metodu koja proverava da li je kompozicija barokna (godina izlaska je između 1600 i 1750)
// (Napomena: metoda vraća true ili false u zavisnosti da li je kompozicija barokna ili ne),
// Metodu koja proverava da li ime kompozitora “Betoven”. (Metoda takođe vraća true ili false).
Formirati tri objekta klase Kompozicija, svakom objektu postaviti sva polja i pozvati sve metode.
public static void main(String[] args) {
Kompozicija a1 = new Kompozicija();
Kompozicija a2 = new Kompozicija();
Kompozicija a3 = new Kompozicija();
a1.nazivKompozicije = "Moonlight Sonata";
a2.nazivKompozicije = "Illusions";
a3.nazivKompozicije = "The Four Seasons";
a1.imeKompozitora = "Ludwig van Beethoven";
a2.imeKompozitora = "Thomas Bergersen";
a3.imeKompozitora = "Antonio Vivaldi";
a1.godinaIzdavanja = 1801;
a2.godinaIzdavanja = 2011;
a3.godinaIzdavanja = 1725;
a1.ispisi();
System.out.println(a1.daLiJeBarok());
System.out.println(a1.daliJeBeethoven());
System.out.println("--------------");
a2.ispisi();
System.out.println(a2.daLiJeBarok());
System.out.println(a2.daliJeBeethoven());
System.out.println("--------------");
a3.ispisi();
System.out.println(a3.daLiJeBarok());
System.out.println(a3.daliJeBeethoven());
System.out.println("--------------");
public class Kompozicija {
String nazivKompozicije;
String imeKompozitora;
int godinaIzdavanja;
public void ispisi () {
System.out.println("Naziv kompozicije je: " + nazivKompozicije);
System.out.println("Ime kompozitora je: " + imeKompozitora);
System.out.println("Godina izlaska kompozicije je: " + godinaIzdavanja);
}
public boolean daLiJeBarok() {
return godinaIzdavanja < 1750;
}
public boolean daliJeBeethoven() {
return imeKompozitora.equals("Ludwig van Beethoven");
Result:
Domaci 01.11.
92 Dom14_1
Napisati klasu Znak, klasa sadrzi sledece atribute:
-niz naziva saobracajnih znakova
-niz koji sadrzi poluprecnike krugova
Napisati funkcije:
-za racunanje broja krugova
-povrsinu odredenog kruga /prosleduje se int koji odreduje indeks kruga u nizu za koji se racuna povrsina
-povrsinu svih krugova
-funkciju koja ispisuje sve informacije klase Znak
Smatrati da nizovi moraju imati isti broj elemenata
String[] saobracajniZnak;
int [] poluprecnik;
public Znak (String[] saobracajniZnak, int[] poluprecnik) {
this.saobracajniZnak = saobracajniZnak;
this.poluprecnik = poluprecnik;
}
public String[] getSaobracajniZnak() {
return saobracajniZnak;
}
public void setSaobracajniZnak(String[] saobracajniZnak) {
this.saobracajniZnak = saobracajniZnak;
}
public int[] getPoluprecnik() {
return poluprecnik;
}
public void setPoluprecnik(int[] poluprecnik) {
this.poluprecnik = poluprecnik;
}
public int brojKrugova[] = {1,2,3};
int count = 0, i = 0, n;{
while(brojKrugova[i] != 'n')
count++;
i++;
}
public int brojKrugova() {
return saobracajniZnak.length;
}
public double povrsinaKrug(int i) {
return poluprecnik[i] * poluprecnik[i] * Math.PI;
}
public double povrsinaSvihKrugova() {
double suma = 0;
for (int i = 0; i <brojKrugova(); i++) {
suma += povrsinaKrug(i);
}
return suma;
}
public void ispisi() {
for (int i = 0; i < brojKrugova(); i++) {
System.out.println(saobracajniZnak[i] + " " + poluprecnik[i]);
}
}
Znak s = new Znak(new String[] { "prvi", "drugi", "treci", "cetvrti", "peti" }, new int[] { 6, 7, 3, 9, 5 });
s.ispisi();
System.out.println(s.brojKrugova());
System.out.println(s.povrsinaKrug(2));
System.out.println(s.povrsinaSvihKrugova());
Result:
-
04.11.
93
Napraviti klasu Zaposleni koja koja cuva podatke o id-u zaposlenog, ime, prezime i plati zaposlenog.
Id zaposlenog se dodeljuje prilikom njegovog kreiranja. Klasa treba da sadrzi sledece funkcije:
-Funkciju koja izracunava godislju platu zaposlenog
-Funkciju koja uvecava primanja zaposlenog za zadatu vrednost
-Funkcija koja prikazuje informacije o zaposlenom
U main funkciji napraviti nekoliko radnika, zatim povecati platu svim radnicima za 7000 cija je plata manja od 40 000
package klase;
import java.util.Scanner;
public class ZaposleniTest {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
Zaposleni[] zaposleni = new Zaposleni[n];
for (int i = 0; i < zaposleni.length; i++) {
String ime = s.next();
String prezime = s.next();
int plata = s.nextInt();
zaposleni[i] = new Zaposleni(ime, prezime, plata);
}
// Zaposleni z1 = new Zaposleni("Mika","Mikic",30000);
// Zaposleni z2 = new Zaposleni("Pera","Peric",55000);
// Zaposleni z3 = new Zaposleni("Laza","Lazic",33000);
// Zaposleni z5 = new Zaposleni("Radnik5","Radnik5",60000);
// Zaposleni z6 = new Zaposleni("Radnik6","Radnik6",37000);
//
// zaposleni[0] = z1;
// zaposleni[1] = z2;
// zaposleni[2] = z3;
// zaposleni[3] = z5;
// zaposleni[4] = z6;
for (int i = 0; i<zaposleni.length; i++)
{
System.out.println(zaposleni[i].stampajInfo());
}
for (int i = 0; i<zaposleni.length; i++)
{
if (zaposleni[i].getPlata() < 40000)
{
zaposleni[i].povecajPlatu(7000);
} else if (zaposleni[i].getPlata() > 50000) {
zaposleni[i].povecajPlatu(2000);
}
System.out.println(zaposleni[i].stampajInfo());
}
}
}
package klase;
public class Zaposleni {
private int id;
private String ime;
private String prezime;
private int plata;
public Zaposleni(String ime, String prezime, int plata)
{
this.id = 1;
this.ime = ime;
this.prezime = prezime;
this.plata = plata;
}
public int godisnjaPlata()
{
int godisnja = this.plata * 12;
return godisnja;
}
public void povecajPlatu (int povecanje)
{
this.plata = this.plata + povecanje;
}
//getter setter
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 int getPlata() {
return plata;
}
public String stampajInfo() {
String radnik = this.id + " [" + this.ime + " " + this.prezime + "] -> " + this.plata;
return radnik;
Result:
94 Napisati klasu Poligon
// Klasa kao atribute ima:
// niz - cuva niz tacaka takoda predstavljaju koordinate x i y
// n - predstavlja broj tacaka
// Metode:
// metoda koja racuna obim poligona - zbir stranica
// metoda koja dodaje tacku u poligona
// Napomena: stranica se racuna kao stranica = Math.sqrt ( (x1 * x2 + y1 * y2) )
// primer niza niz [x1, y1, x2, y2, x3, y3,...]
public class Poligon {
private int[] tacke;
private int n;
private int brojTacaka;// cuva trenutni broj tacaka
public Poligon(int n) {
this.n = n;
this.tacke = new int[2 * n];
}
public int[] getTacke() {
return tacke;
}
public int getN() {
return n;
}
public void dodajTacku(int x, int y) {
this.tacke[this.brojTacaka * 2] = x;
this.tacke[this.brojTacaka * 2 + 1] = y;
this.brojTacaka++;
}
public double racunajObim() {
double obim = 0;
for (int i = 0; i < (this.brojTacaka - 2) * 2; i+=2) {
obim += this.izracunajStranicu(i, i+1, i+2, i+3);
}
int XZadnje = 2 * (brojTacaka - 1);
int YZadnje = 2 * (brojTacaka - 1) + 1;
obim += this.izracunajStranicu(0, 1, XZadnje, YZadnje);
return obim;
}
private double izracunajStranicu(int x1, int y1, int x2, int y2) {
int s = (tacke[x2] - tacke[x1]) *
(tacke[x2] - tacke[x1]) +
(tacke[y2] - tacke[y1]) *
(tacke[y2] - tacke[y1]);
return Math.sqrt(s);
public static void main(String[] args) {
Poligon p = new Poligon(4);
p.dodajTacku(1,1);
p.dodajTacku(1,4);
p.dodajTacku(4,4);
p.dodajTacku(4,1);
System.out.println(p.racunajObim());
Result:
05.11.
95
A)
// Napisati klasu Stavka koja pamti informacije o ceni artikla, kolicini artikla i njegovom nazivu
// Napisati potrebni konstruktor i funkciju za racunanje ukupne cene stavke
// Napraviti tri objekta i izracunati cenu svake stavke
B)
// Napisati klasu Racun tako da cuva informacije o racunu klasa cuva stavke kao niz tipa Stavka
// Napisati konstruktor koji ucitava niz Stavki
// Napisati funkciju koja racuna ukupnu cenu racuna koristeci gotovu funkciju
package klase;
public class ZStavka {
// Napisati klasu Stavka koja pamti informacije o ceni artikla, kolicini artikla i njegovom nazivu
// Napisati potrebni konstruktor i funkciju za racunanje ukupne cene stavke
// Napraviti tri objekta i izracunati cenu svake stavke
private int kolicina;
private int cena;
private String opis;
public ZStavka(int kolicina, int cena, String opis)
{
this.kolicina = kolicina;
this.cena = cena;
this.opis = opis;
}
public int getKolicina() {
return kolicina;
}
public int getCena() {
return cena;
}
public String getOpis() {
return opis;
}
public int ukupnaCenaStavke()
{
int u = 0;
u = this.cena * this.kolicina;
return u;
}
}
package klase;
public class ZRacun {
//Napisati klasu Racun tako da cuva informacije o racunu
//klasa cuva stavke kao niz tipa Stavka
//Napisati konstruktor koji ucitava niz Stavki
//Napisati funkciju koja racuna ukupnu cenu racuna
//koristeci gotovu funkciju
private ZStavka[] stavke;
public ZRacun(ZStavka[] stavke)
{
this.stavke = stavke;
}
public int ukupno()
{
int ukupno = 0;
for(int i =0; i < this.stavke.length; i++)
{
ukupno = ukupno + stavke[i].ukupnaCenaStavke();
}
return ukupno;
}
}
MAIN
package klase;
public class RacunTest {
public static void main(String[] args) {
ZStavka z1 = new ZStavka(10,2,"Cokolada");
ZStavka z2 = new ZStavka(10,2,"Cokolada");
ZStavka z3 = new ZStavka(10,2,"Cokolada");
ZStavka[] nizStavki = new ZStavka[3];
nizStavki[0] = z1;
nizStavki[1] = z2;
nizStavki[2] = z3;
ZRacun r1 = new ZRacun(nizStavki);
System.out.println(r1.ukupno());
}
}
Result:
96
Napraviti klasu Oglas koja ima:
- Atribut tekst oglasa
- Konstruktor koji prima tekst oglasa
Napraviti klasu Korisnik koja ima:
- atribut ime
- atribut prezime
- atribut niz oglasa
- Konstuktor koji prima niz oglasa, ime i prezime
- Metodu koja stampa podatke u formatu:
Pera Peric ima 3 oglasa
- [Tekst prvog oglasa]
- [Tekst drugog oglasa]
- [Tekst treceg oglasa]
U main funkciji napraviti niz od minimum 3 oglasa, zatim jednog korisnika i testirati metodu za stampanje podataka.
package klase;
public class Korisnik {
private String ime;
private String prezime;
private Oglas[] oglasi; // NE String[]
public Korisnik(String ime,
String prezime,
Oglas[] oglasi) {
this.ime = ime;
this.prezime = prezime;
this.oglasi = oglasi;
}
public void stampajPodatke() {
System.out.print(this.ime + " ");
System.out.print(this.prezime + " ");
System.out.println("ima " + this.oglasi.length + " oglasa");
for (int i = 0; i < oglasi.length; i++) {
System.out.println(oglasi[i].getTekst());
}
}
}
package klase;
public class KorisnikTest {
public static void main(String[] args) {
Napraviti klasu Oglas koja ima:
- Atribut tekst oglasa
- Konstruktor koji prima tekst oglasa
Napraviti klasu Korisnik koja ima:
- atribut ime
- atribut prezime
- atribut niz oglasa
- Konstuktor koji prima niz oglasa, ime i prezime
- Metodu koja stampa podatke u formatu:
Pera Peric ima 3 oglasa
- [Tekst prvog oglasa]
- [Tekst drugog oglasa]
- [Tekst treceg oglasa]
U main funkciji napraviti niz od minimum 3 oglasa, zatim jednog korisnika i testirati metodu za stampanje podataka.
Oglas[] oglasi = new Oglas[3];
oglasi[0] = new Oglas("Prodajem kucu");
oglasi[1] = new Oglas("Prodajem telefon");
oglasi[2] = new Oglas("Prodajem maske");
Korisnik k = new Korisnik("Pera", "Peric", oglasi);
k.stampajPodatke();
}
}
package klase;
public class Oglas {
private String tekst;
public Oglas(String tekst) {
this.tekst = tekst;
}
public String getTekst() {
return tekst;
}
}
Result:
Domaci 04.11.
97 Napraviti klasu Brojevi koja ima dva atributa:
// Prvi broj
// Drugi broj
// Klasi dodati konstruktor, getere i setere.
// Napratiti metode:
// Saberi - metoda koja sabira prvi broj i drugi broj, a kao rezultat vraća zbir ova dva broja
// Oduzmi - metoda koja oduzima drugi broj od prvog broja, a kao rezultat vraća razliku ova dva broja
// Pomnozi - metoda koja množi prvi broj i drugi broj, a kao rezultat vraća proizvod ova dva broja
// Podeli - metoda koja deli prvi broj drugim brojem, a kao rezultat vraća količnik ova dva broja
// Testirati sve navedene metode
// Napraviti niz objekata klase Broj
package dom15_04_11;
public class Dom15_1 {
public static void main(String[] args) {
Brojevi b = new Brojevi(8, 4); {
System.out.println(b.Saberi());
System.out.println(b.Oduzmi());
System.out.println(b.Pomnozi());
System.out.println(b.Podeli());
}
}
}
package dom15_04_11;
public class Brojevi {
int prvi;
int drugi;
public Brojevi (int prvi, int drugi) {
this.prvi = prvi;
this.drugi = drugi;
}
public int getPrvi() {
return prvi;
}
public void setPrvi(int prvi) {
this.prvi = prvi;
}
public int getDrugi() {
return drugi;
}
public void setDrugi(int drugi) {
this.drugi = drugi;
}
public int Saberi()
{
return prvi + drugi;
}
public int Oduzmi()
{
return prvi - drugi;
}
public int Pomnozi()
{
return prvi * drugi;
}
public int Podeli()
{
return prvi / drugi;
}
}
Result:
Domaci 05.11.
98 Napraviti klasu Ispit koja ima
- atribut naziv predmeta
- atribut da li ispit polozen ili ne
- konstruktor koji prima parametre naziv predmeta i da li je ispit polozen ili ne
- gettere i settere za koje mislite da su potrebni
Napraviti klasu Student koji ima
- atribut broj indeksa
- atribut ime
- atribut prezime
- atribut niz ispita
- konstruktor koji prima sve parametre
- gettere i settere za koje mislite da su potrebni
- metodu koja stampa samo polozene ispite u sledecem formatu:
Primer stampanja:
Petar Peric 12434 je polozio:
Matematiku
Fiziku
Hemiju
//Napomena: niz ispita u klasi student NE MOZE biti niz stringova (String[]).
//U main funkciji napraviti niz ispita, jednog studenta i testirati funkcije za stampanje
package dom16_05_11;
import java.util.Scanner;
public class Ispit {
String nazivPredmeta;
boolean DaLiJePolozen;
public Ispit (String nazivPredmeta, boolean DaLiJePolozen) {
this.nazivPredmeta = nazivPredmeta;
this.DaLiJePolozen = DaLiJePolozen;
}
public String getNazivPredmeta() {
return nazivPredmeta;
}
public void setNazivPredmeta(String nazivPredmeta) {
this.nazivPredmeta = nazivPredmeta;
}
public boolean getDaLiJePolozen() {
return DaLiJePolozen;
}
public void setDaLiJePolozen(boolean DaLiJePolozen) {
this.DaLiJePolozen = DaLiJePolozen;
}
// public boolean setDaLiJePolozen(int x) {
// return x > 5 && x < 11; - sa ocenama kad se radi
}
package dom16_05_11;
public class Student {
private int brojIndeksa;
private String ime;
private String prezime;
private Ispit[] ispiti;
public Student(int brojIndeksa, String ime, String prezime, Ispit[] ispiti)
{
this.brojIndeksa = brojIndeksa;
this.ime = ime;
this.prezime = prezime;
this.ispiti = ispiti;
}
public int getBrojIndeksa() {
return brojIndeksa;
}
public void setBrojIndeksa(int brojIndeksa) {
this.brojIndeksa = brojIndeksa;
}
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 Ispit[] getIspiti() {
return ispiti;
}
public void setIspiti(Ispit[] ispiti) {
this.ispiti = ispiti;
}
public void stampa() {
System.out.println(this.ime + " " + " " + this.prezime + " " + this.brojIndeksa + " je polozio: " + this.ispiti);
for (int i = 0; i < this.ispiti.length; i++) {
if (this.ispiti[i].getDaLiJePolozen() == true) {
System.out.println(ispiti[i].getNazivPredmeta());
}
}
}
}
package dom16_05_11;
public class Dom16_1 {
public static void main(String[] args) {
Ispit i1 = new Ispit("Matematika", true);
Ispit i2 = new Ispit("Fizika", true);
Ispit i3 = new Ispit("Hemija", true);
Ispit i4 = new Ispit("Biologija", false);
Ispit [] ispiti = new Ispit [4];
ispiti [0] = i1;
ispiti [1] = i2;
ispiti [2] = i3;
ispiti [3] = i4;
Student i = new Student (234, "Pera","Peric", ispiti);
i.stampa ();
}
}
Result:
-
07.11.
99 Klasa ZTrougao se sastoji od tri klase Tacka. Tacke su privatne promenjive.
// Napisati konstruktore /dva/ tako da je moguce uneti tacke kao zasebne realne vrednosti i kao tri objekta tipa Tacka.
// Klasa Tacka sadrzi privatne vrednosti za x i y koordinatu. Napisati odgovarajuc konstruktur, getter i setter funkcije.
// Funkcije klase ZTrouga-o imaju sledece funkcionalnosti:
// ->Funkcija printTrougao ispisuje informacije o trouglu u slecem formatu "ZTrougao[v1=(x1,y1),v2=(x2,y2),v3=(x3,y3)]".
// ->Funkcija getObim vraca obim trougla
// Za vezbu: Funkcija getPovrsina vraca povrsinu trougla
// Za vezbu: Funkcija getTip vraca informaciju da li je trogao "Jednakokraki trougao", "jednakostranicni trougao"
// ili "trougao sa stranicama razlicite duzine"
// Napraviti dva objekta tripa ZTrougao koristici oba konstruktora i testirati sve funkcije.
// Uneti vrednosti tacaka tako da je moguce napraviti trougao od njih.
package pppp1;
public class Tacka {
private int x;
private int y;
public Tacka() { }
public Tacka(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public double racunajRastojanje(int x, int y) {
return Math.sqrt((this.x - x) *
(this.x - x) +
(this.y - y)*
(this.y - y));
}
// restojanje =
// t1.racunajRastojanje(t2.getX(),t2.getY())
public double racunajRastojanje(Tacka t) {
return Math.sqrt((this.x - t.x) * (this.x - t.x) + (this.y - t.y)*(this.y - t.y));
}
}
package pppp1;
public class Trougao {
private Tacka tackaA;
private Tacka tackaB;
private Tacka tackaC;
public Trougao(int x1, int y1, int x2, int y2, int x3, int y3) {
this.tackaA = new Tacka(x1, y1);
this.tackaB = new Tacka(x2, y2);
this.tackaC = new Tacka(x3, y3);
}
public Trougao(Tacka tackaA, Tacka tackaB, Tacka tackaC) {
this.tackaA = tackaA;
this.tackaB = tackaB;
this.tackaC = tackaC;
}
public double getObim() {
double obim = this.tackaA.racunajRastojanje(this.tackaB.getX(), this.tackaB.getY());
obim += this.tackaB.racunajRastojanje(this.tackaC.getX(), this.tackaC.getY());
obim += this.tackaC.racunajRastojanje(this.tackaA.getX(), this.tackaA.getY());
return obim;
}
public void stampaj() {
System.out.print("Trougao[");
System.out.print("v1=(" + this.tackaA.getX() + "," + this.tackaA.getY() + "),");
System.out.print("v2=(" + this.tackaB.getX() + "," + this.tackaB.getY() + "),");
System.out.print("v3=(" + this.tackaC.getX() + "," + this.tackaC.getY() + ")");
System.out.print("]");
}
}
package pppp1;
public class MainTrougaoTacka {
public static void main(String[] args) {
Tacka t1 = new Tacka(1,3);
Tacka t2 = new Tacka(2,4);
Tacka t3 = new Tacka(2,1);
Trougao t = new Trougao(t1, t2, t3);
System.out.println("Obim: " + t.getObim());
t.stampaj();
}
}
Result:
100 Napraviti klasu Ispit koja ima
- atribut naziv predmeta
- atribut ocena
- konstruktor koji prima sve parametre
- gettere i settere za koje mislite da su potrebni
- funkciju koja vraca da li je ispit polozen (ispit je polozen ako je ocena veca od 5)
Napraviti klasu Student koji ima
- atribut broj indeksa
- atribut ime
- atribut prezime
- atribut niz ispita
- konstruktor koji prima sve parametre
- gettere i settere za koje mislite da su potrebni
- metodu koja racuna i vraca prosecnu ocenu (prosecna ocena je double)
- metodu koja vraca Ispit na kom student ima najvecu ocenu (ako ima vise ispita sa istom ocenom vratiti bilo koji)
U main funkciji napraviti niz ispita, jednog studenta i testirati funkcije za stampanje
package pppp2;
public class Ispit {
//Napraviti klasu Ispit koja ima
//- atribut naziv predmeta
//- atribut ocena
//- konstruktor koji prima sve parametre
//- gettere i settere za koje mislite da su potrebni
//- funkciju koja vraca da li je ispit polozen (ispit je polozen ako je ocena veca od 5)
private String predmet;
private int ocena;
public Ispit(String predmet, int ocena)
{
this.predmet = predmet;
this.ocena = ocena;
}
public boolean polozen()
{
boolean f = false;
if (this.ocena > 5)
{
f = true;
}
return f;
// return this.ocena > 5;
}
public int getOcena() {
return ocena;
}
public String getPredmet() {
return predmet;
}
}
package pppp2;
public class Student {
//Napraviti klasu Student koji ima
//- atribut broj indeksa
//- atribut ime
//- atribut prezime
//- atribut niz ispita
//- konstruktor koji prima sve parametre
//- gettere i settere za koje mislite da su potrebni
//- metodu koja racuna i vraca prosecnu ocenu (prosecna ocena je double)
//- metodu koja vraca Ispit na kom student ima najvecu ocenu (ako ima vise ispita sa istom ocenom vratiti bilo koji)
private int brindeksa;
private String ime;
private String prezime;
private Ispit[] ispiti;
public Student(int brindeksa, String ime, String prezime, Ispit[] ispiti)
{
this.brindeksa = brindeksa;
this.ime = ime;
this.prezime = prezime;
this.ispiti = ispiti;
}
double prosecnaOcena()
{
double prosecna = 0;
int k = 0;
for(int i = 0; i<ispiti.length; i++)
{
if(ispiti[i].polozen())
{
prosecna = prosecna + ispiti[i].getOcena();
k++;
}
}
prosecna = prosecna / k;
return prosecna;
}
public Ispit najvecaOcena()
{
int indeks = 0;
for (int i = 1; i < ispiti.length; i++)
{
if(this.ispiti[indeks].getOcena() < this.ispiti[i].getOcena())
{
indeks = i;
}
}
return this.ispiti[indeks];
}
}
package pppp2;
public class MainStudentIspit {
public static void main(String[] args) {
Ispit i1 = new Ispit("Fizika", 8);
Ispit i2 = new Ispit("Engleski", 9);
Ispit i3 = new Ispit("Nemacki", 10);
Ispit i4 = new Ispit("Ruski", 5);
Ispit[] ispiti = new Ispit[4];
ispiti[0] = i1;
ispiti[1] = i2;
ispiti[2] = i3;
ispiti[3] = i4;
Student s = new Student(1122,"Pera","Peric",ispiti);
System.out.println("Prosecna ocena je: " + s.prosecnaOcena());
Ispit naj = s.najvecaOcena();
System.out.println(naj.getOcena() + " "+ naj.getPredmet());
}
}
Result:
08.11.
101 Extends i Override
// Nasledjivanje
// klasa svih klasa je object
// extends nasledjuje osobine main clase. main clasa je majka klasa odnosno super klasa
// super klasa je Zivotinja, nasledjuje osobine
// novi vid vidljivosti je protected, funkcije publik odmah nasledjuju osobine
// protected je isto vidljivo svuda
// ono sto je private to ne nasledjujemo
// nasledjivanjem skracujemo postupak
// visestruko nasledjivanja postoji ali java ga ne podrzava, ali ima u c++
// kod klase stene, klasa nasledjuje klasu pas, pokuplja sve osobine psa i zivotinje
// nasledjivanje je jednosmerno
// main clasa ne moze da pozove klase koje od nje nasledjuju
// klasa svih klasa se zove object, od nje sve polazi i nasledjuju se njene osobine
// super(); poziva nesto iz is super/majka klase
// @override - ne zelimo vise da se nesto radi, zelimo da se radi nesto drugo
// toString(); - stampa sve atribude te klase,
// ako zelimo da se neka funkcija drugacije ponasa stavimo @override
// slovo tacka u opcijama ima odakle klasa dolazi
Result:
102 Zivotinje
package z1mainFakultet;
public class Zivotinje {
private boolean biljoljed;
private String hrana;
private int brNogu;
public Zivotinje(){}
public Zivotinje(boolean bio, String hrana, int noge){
this.biljoljed = bio;
this.hrana = hrana;
this.brNogu = noge;
}
public boolean isVegetarian() {
return biljoljed;
}
public boolean isBiljoljed() {
return biljoljed;
}
public void setBiljoljed(boolean biljoljed) {
this.biljoljed = biljoljed;
}
public String getHrana() {
return hrana;
}
public void setEats(String hrana) {
this.hrana = hrana;
}
public int getBrNogu() {
return brNogu;
}
public void setBrNogu(int brNogu) {
this.brNogu = brNogu;
}
protected void spava() {
System.out.println("ZzzzzZzzz");
}
private void trci() {
System.out.println("trci. . . ");
}
}
package z1mainFakultet;
public class Macka extends Zivotinje{
private String boja;
public Macka(boolean bio, String hrana, int brNogu) {
super(bio, hrana, brNogu);
this.boja="Bela";
}
public Macka(boolean bio, String hrana, int brNogu, String boja){
super(bio, hrana, brNogu);
this.boja=boja;
}
public String getBoja() {
return boja;
}
public void setBoja(String boja) {
this.boja = boja;
}
}
package z1mainFakultet;
public class MainZivotinje {
public static void main(String[] args) {
Macka m = new Macka(false, "mleko", 4, "crna");
System.out.println("Macka je biljoljed? " + m.isVegetarian());
System.out.println("Macka pije " + m.getHrana());
System.out.println("Macka ima " + m.getBrNogu() + " noge.");
System.out.println("Macka je " + m.getBoja() + "boje.");
m.spava();
}
}
Result:
103 Napraviti klasu Student koja ima
- atribut indeks
- atribut ime
- atribut prezime
- atribut godina (koje godine se student upisao na studije)
- defaultni konstruktor
- konstruktor sa parametrima
- gettere i settere
- metodu koja stampa na kom je studijskom programu
- metodu koja stampa informacije o studentu u formatu:
"Pera Peric br.indeksa 1234 je upisao 2014god."
Napraviti klasu StudentOsnovnih koja nasledjuje klasu Student
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student osnovnih studija"
Napraviti klasu StudentMaster koja nasledjuje klasu Student
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student master studija"
Napraviti klasu StudentDoktorskih koja nasledjuje klasu Student
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student doktorskih studija" u main funkciji, napraviti studenta osnovih, master i doktorskih studija i testirati funkcije objekata.
package z3mainFakultet;
public class Student {
private int indeks;
private String ime;
private String prezime;
private int godina;
public Student() {}
public Student (String ime, String prezime, int indeks, int godina) {
this.ime = ime;
this.prezime = prezime;
this.indeks = indeks;
this.godina = godina;
}
public int getIndeks() {
return indeks;
}
public void setIndeks(int indeks) {
this.indeks = indeks;
}
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 int getGodina() {
return godina;
}
public void setGodina(int godina) {
this.godina = godina;
}
public void stampajStudijski() {
}
public void stampajInfo () {
System.out.println(this.ime + " " + this.prezime + " " + this.indeks + " " + this.godina);
}
}
package z3mainFakultet;
public class StudentOsnovnih extends Student {
// Napraviti klasu StudentOsnovnih koja nasledjuje klasu Student
// - konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
// - defaultni konstruktor, koji poziva super defaultni konstruktor
// - override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student osnovnih studija"
public StudentOsnovnih() {
super();
}
public StudentOsnovnih(String ime, String prezime, int indeks, int godina) {
super(ime, prezime, indeks, godina);
}
@Override
public void stampajStudijski() {
System.out.println("Student osnivnih studija");
}
}
package z3mainFakultet;
public class StudentMaster extends Student {
// Napraviti klasu StudentMaster koja nasledjuje klasu Student
// - konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
// - defaultni konstruktor, koji poziva super defaultni konstruktor
// - override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student master studija"
public StudentMaster() {
super();
}
public StudentMaster(String ime, String prezime, int indeks, int godina) {
super(ime, prezime, indeks, godina);
}
@Override
public void stampajStudijski() {
System.out.println("Student master studija");
}
}
package z3mainFakultet;
public class StudentDoktorskih extends Student {
// Napraviti klasu StudentDoktorskih koja nasledjuje klasu Student
// - konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
// - defaultni konstruktor, koji poziva super defaultni konstruktor
// - override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student doktorskih studija"
// u main funkciji, napraviti studenta osnovih, master i doktorskih studija i testirati funkcije objekata.
public StudentDoktorskih() {
super();
}
public StudentDoktorskih(String ime, String prezime, int indeks, int godina) {
super(ime, prezime, indeks, godina);
}
@Override
public void stampajStudijski() {
System.out.println("Student doktorskih studija");
}
}
package z3mainFakultet;
public class StudentMain {
public static void main(String[] args) {
StudentOsnovnih sOsnovne = new StudentOsnovnih ("Pera", "Peric", 1234, 2019);
StudentMaster sMaster = new StudentMaster ("Mitar", "Pericic", 25334, 2014);
StudentDoktorskih sDoktorske = new StudentDoktorskih ("Sasa", "Micic", 642324, 2019);
sOsnovne.stampajInfo();
sOsnovne.stampajStudijski();
sMaster.stampajInfo();
sMaster.stampajStudijski();
sDoktorske.stampajInfo();
sDoktorske.stampajStudijski();
}
}
Result:
104 Napraviti klasu Kartica koja ima
- atribut suma // cuva trenutnu sumu novca na kartici u dolarima
- atribut broj kartice // primer: 4012-1239-1221-3381
- atribut godina // godina do kada vazi kartica
- atribut mesec // mesec do kada vazi kartica
- defaultni konstruktor
- konstruktor sa parametrima
- gettere i settere
- metodu koja vrsi transakciju (neka ostane prazna)
- metodu koja stampa podatke o kartici (neka ostane prazna)
Napraviti klasu VisaKartica koja nasledjuje klasu Kartica
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu koja vrsi transakciju, tako sto na sumu dodaje proviziju od 1.8 posto na sumu.
Ako je provizija manja od $4, uracunati proviziju od $4.
- override-uje metodu koja stampa podatke o kartici u formatu:
Visa Card: 4012-1239-1221-3381, 11/2019
Napraviti klasu MasterKartica koja nasledjuje klasu Kartica
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu koja vrsi transakciju, tako sto na sumu dodaje proviziju od 1.5 posto na sumu.
Ako je provizija manja od $3, uracunati proviziju od $3.
- override-uje metodu koja stampa podatke o kartici u formatu:
Master Card: 4012-1239-1221-3381, 12/2019 u main funkciji, napraviti visa i master kartice i testirati funkcije
package z4kartica;
public class Kartica {
private double suma;
private String brKartica;
private int godina;
private int mesec;
public Kartica()
{}
public Kartica(double suma, String brKartica, int godina, int mesec) {
this.suma = suma;
this.brKartica = brKartica;
this.godina = godina;
this.mesec = mesec;
}
public void transakcija(double n) {}
public void informacije() {}
public double getSuma() {
return suma;
}
public void setSuma(double suma) {
this.suma = suma;
}
public String getBrKartica() {
return brKartica;
}
public void setBrKartica(String brKartica) {
this.brKartica = brKartica;
}
public int getGodina() {
return godina;
}
public void setGodina(int godina) {
this.godina = godina;
}
public int getMesec() {
return mesec;
}
public void setMesec(int mesec) {
this.mesec = mesec;
}
}
package z4kartica;
public class Visa extends Kartica {
public Visa() {
super();
}
public Visa(double suma, String brKartica, int godina, int mesec) {
super(suma, brKartica, godina, mesec);
}
@Override
public void transakcija(double n) {
double provizija;
provizija = n * 0.018;
if(provizija < 4.0)
provizija = 4;
n = n + provizija;
super.setSuma(super.getSuma() - n);
}
@Override
public void informacije() {
System.out.println("VISA Card: " + super.getBrKartica() + super.getMesec() + "/"+ super.getGodina());
}
}
package z4kartica;
public class Master extends Kartica {
public Master() {
super();
}
public Master(double suma, String brKartica, int godina, int mesec) {
super(suma, brKartica, godina, mesec);
}
@Override
public void transakcija(double n) {
double provizija;
provizija = n * 0.015;
if(provizija < 3.0)
provizija = 3;
n = n + provizija;
super.setSuma(super.getSuma() - n);
}
@Override
public void informacije() {
System.out.println("Master Card: " + super.getBrKartica() + super.getMesec() + "/"+ super.getGodina());
}
}
package z4kartica;
public class MainKartica {
public static void main(String[] args) {
Master m = new Master(500,"4444-3333-2222-1111",12,2019);
m.informacije();
System.out.println(m.getSuma());
m.transakcija(300);
System.out.println(m.getSuma());
}
}
Result:
-
Domaci 07.11.
105 Napraviti klasu Radnik koja ima sledece atribute
-atribut koji pamti ime i prezime radnika
-maticni broj radnika
-plata radnika
-odeljenje radnika
Napisati klasu Firma tako da pamti podatke
-nazivu firme
-nizu zaposlenih radnika
-konstruktor koji dobija sve atribute
Napisati funkcije koje
-vraca broj radnika firme
-ispisuje podatke o radniku koji ima najvecu platu
-ispisuje podatke o radniku koji ima najmanju platu
-metodu koja omogucava da se radniku poveca plata za odredenu sumu, funkciji se prosleduje indeks radnika u nizu i suma povecanja
public class Radnik {
private String ime;
private String prezime;
private int maticni;
private double plata;
private int odeljenje;
public Radnik() {}
public Radnik (String ime, String prezime, int maticni, double plata, int odeljenje) {
this.ime = ime;
this.prezime = prezime;
this.maticni = maticni;
this.plata = plata;
this.odeljenje = odeljenje;
}
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 int getMaticni() {
return maticni;
}
public void setMaticni(int maticni) {
this.maticni = maticni;
}
public double getPlata() {
return plata;
}
public void setPlata(double plata) {
this.plata = plata;
}
public int getOdeljenje() {
return odeljenje;
}
public void setOdeljenje(int odeljenje) {
this.odeljenje = odeljenje;
}
public void info() {
System.out.println(this.ime + " " + " " + this.prezime + " " + this.maticni + " " + this.plata + " " + this.odeljenje);
}
}
public class Firma {
private String nazivFirme;
private Radnik[] nizRadnici;
public Firma (String nazivFirme, Radnik[] nizRadnici) {
this.nazivFirme = nazivFirme;
this.nizRadnici = nizRadnici;
}
public String getNazivFirme() {
return nazivFirme;
}
public void setNazivFirme(String nazivFirme) {
this.nazivFirme = nazivFirme;
}
public Radnik[] getNizRadnici() {
return nizRadnici;
}
public void setNizRadnici(Radnik[] nizRadnici) {
this.nizRadnici = nizRadnici;
}
public int brojRadnika (Radnik[] nizRadnici) {
int broj = 0;
for (int i=0; i < this.nizRadnici.length; i++) {
if (i>0);
broj= broj + 1;
}
return broj;
}
public Radnik najvecaPlata() {
Radnik radnik = this.nizRadnici[0];
for (int i=1; i < nizRadnici.length; i++) {
if (radnik.getPlata() < nizRadnici[i].getPlata()) {
radnik = this.nizRadnici[i];
}
}
return radnik;
}
public Radnik najmanjaPlata() {
Radnik radnik = this.nizRadnici[0];
for (int i=1; i < nizRadnici.length; i++) {
if (radnik.getPlata() > nizRadnici[i].getPlata()) {
radnik = this.nizRadnici[i];
}
}
return radnik;
}
public void povecajPlatu (int x, double n) {
double trenutnaPlata = this.nizRadnici[x].getPlata();
nizRadnici[x].setPlata(trenutnaPlata + n);
}
}
public class MainRadnikFirma {
public static void main(String[] args) {
Radnik r1 = new Radnik("Dragoslav", "Milojevic", 937428, 45000.00, 1);
Radnik r2 = new Radnik("Martina", "Lalic", 283529, 38000.00, 2);
Radnik r3 = new Radnik("Miomir", "Tubic", 382593, 52000.00, 3);
r1.setPlata(r1.getPlata());
r2.setPlata(r2.getPlata());
r3.setPlata(r3.getPlata());
r1.info();
r2.info();
r3.info();
Radnik [] LastaRadnici= new Radnik [] {r1, r2, r3};
nazivFirme.povecajPlatu(1, 10000.00);
Firma nazivFirme = new Firma("Lasta", LastaRadnici);
nazivFirme.brojRadnika(LastaRadnici);
System.out.println("Broj radnika: ");
System.out.println(nazivFirme.brojRadnika(LastaRadnici));
System.out.println("~~~~~~~~~~~~~~~~~~~~");
nazivFirme.najvecaPlata().getPlata();
System.out.println("Najveca plata: ");
System.out.println(nazivFirme.najvecaPlata().getPlata());
System.out.println("~~~~~~~~~~~~~~~~~~~~");
nazivFirme.najmanjaPlata().getPlata();
System.out.println("Najmanja plata: ");
System.out.println(nazivFirme.najmanjaPlata().getPlata());
System.out.println("~~~~~~~~~~~~~~~~~~~~");
}
}
Result:
Domaci 08.11.
106
Napisati klasu osoba koja čuva podatke:
-ime osobe
-prezime osobe
-napisati konstruktor koji koristi, postavlja vrednosti za sve parametre i dodati odgovarajuće get i set funkcije
Uraditi override funkcije toString tako da na ekranu ispisuje podatke u sledećem formatu:
Osoba[ime:?, prezime:?]
Napisati klasu student koja nasleđuje klasu osoba. Klasa student ima sledeće atribute:
-program studiranja /*osnovne, master, doktorske*/
-način finansiranja /*SAF, FIB*/
-cena školarine
Dodati sledeće metode:
-konstruktor sa parametrima, koji poziva super konstruktor
-funkciju koja izračunava cenu školarine po sledećoj formuli:
program studiranja * školarina * način finansiranja.
Za studente koji se finansiraju iz budžeta školarina je 0.
Za osnovne studije koeficijent školarine je 0.9, za master studije 1.1 i za doktorske 1.5.
Funkcija vraća cenu školarine
-Uraditi override funkcije toString tako da na ekranu ispisuje podatke u sledećem formatu:
Student[ Osoba[ime:?, prezime:?], program studiranja: ?, način finansiranja: ?]
Napisati klasu Profesor koja nasleđuje klasu osoba. Atributi klase su:
-Naziv ustanove u kojoj radi profesor
-Predmet koji drži profesor
Dodati sledeće metode:
-konstruktor sa parametrima, koji poziva super konstruktor
-Uraditi override funkcije toString tako da na ekranu ispisuje podatke u sledećem formatu:
Profesor[ Osoba[ime:?, prezime:?], Naziv ustanove: ?, Predmet: ?]
U main funkciji testirati sve funkcije i napraviti po dva objekta od svake klase.
public class Osoba {
private String ime;
private String prezime;
public Osoba() {
}
public Osoba(String ime, String prezime) {
this.ime = ime;
this.prezime = prezime;
}
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;
}
@Override
public String toString() {
return "Osoba [ime=" + this.ime + ", prezime=" + this.prezime + "]";
}
}
public class Student extends Osoba {
private String program;
private String nacinfinansiranja;
private int skolarina;
public Student() {
super();
}
public Student(String ime, String prezime, String program, String finansiranje, int skolarina) {
super(ime, prezime);
this.program = program;
this.nacinfinansiranja = finansiranje;
this.skolarina = skolarina;
}
@Override
public String toString() {
return "Student[ Osoba[ ime: " + super.getIme() + ", prezime: " + super.getPrezime() + "], program=" + this.program
+ ", finansiranje=" + this.nacinfinansiranja + "]";
}
public double cenaSkolarine() {
if (nacinfinansiranja.equals("FIB"))
return 0.0;
else if (program.equals("osnovne"))
return 0.9 * this.skolarina;
else if (program.equals("master"))
return 1.1 * this.skolarina;
else
return 1.5 * this.skolarina;
}
}
public class Profesor extends Osoba{
private String ustanova;
private String predmet;
public Profesor() {
super();
}
public Profesor(String ime, String prezime, String ustanova, String predmet) {
super(ime, prezime);
this.ustanova = ustanova;
this.predmet = predmet;
}
@Override
public String toString() {
return "Profesor[ Osoba[ ime: " + super.getIme() + ", prezime: " + super.getPrezime() + "], ustanova = "
+ this.ustanova + ", predmet = " + this.predmet + "]";
}
}
public class MainOsobaStudentProfesor {
public static void main(String[] args) {
Osoba o1 = new Osoba("Milos", "Lazarevic");
Osoba o2 = new Osoba("Miroslav", "Krstic");
Osoba o3 = new Osoba("Josip", "Markovic");
Osoba o4 = new Osoba("Toza", "Vampirovic");
Osoba o5 = new Osoba("Dragan", "Orovic");
Osoba o6 = new Osoba("Dragan", "Velickovic");
Student s1 = new Student(o1.getIme(), o1.getPrezime(), "osnovne", "SAF", 120000);
Student s2 = new Student(o2.getIme(), o2.getPrezime(), "osnovne", "FIB", 120000);
Student s3 = new Student(o3.getIme(), o3.getPrezime(), "master", "SAF", 120000);
Student s4 = new Student(o4.getIme(), o4.getPrezime(), "doktorske", "SAF", 120000);
Profesor p1 = new Profesor(o5.getIme(), o5.getPrezime(), "VPPS", "Marketing u prehrambenoj industriji");
Profesor p2 = new Profesor(o6.getIme(), o6.getPrezime(), "VPPS", "Tehnoloske operacije");
System.out.println(s1.toString());
System.out.println("Cena skolarine je: " + s1.cenaSkolarine() + " dinara.");
System.out.println("~~~~~~~~~~~~~~~~~");
System.out.println(s2.toString());
System.out.println("Cena skolarine je: " + s2.cenaSkolarine() + " dinara.");
System.out.println("~~~~~~~~~~~~~~~~~");
System.out.println(s3.toString());
System.out.println("Cena skolarine je: " + s3.cenaSkolarine() + " dinara.");
System.out.println("~~~~~~~~~~~~~~~~~");
System.out.println(s4.toString());
System.out.println("Cena skolarine je: " + s4.cenaSkolarine() + " dinara.");
System.out.println("~~~~~~~~~~~~~~~~~");
System.out.println(p1.toString());
System.out.println("~~~~~~~~~~~~~~~~~");
System.out.println(p2.toString());
System.out.println("~~~~~~~~~~~~~~~~~");
}
}
Result:
12.11.
107
Polimorfizam
Extends
Throws Exception
// run stampa neki String
public class Bicikla {
void run() {
System.out.println("leti preko 50km/h");
}
public class ETrotinet extends Bicikla {
void run() {
System.out.println("leti preko 50km/h");
}
Bicikla bicikla = new Bicikla();
bicikla.run();
ETrotinet e = new ETrotinet();
e.run();
Bicikla b = new ETrotinet();
b.run();
Result:
108 Poly2
public class Banka {
int getKamatnaStopa()
{
return 0;
}
}
class ABC extends Banka {
int getKamatnaStopa()
{
return 8;
}
}
class DEF extends Banka {
int getKamatnaStopa()
{
return 7;
}
}
class GHI extends Banka {
int getKamatnaStopa()
{
return 9;
}
}
Banka b1 = new ABC();
Banka b2 = new DEF();
Banka b3 = new GHI();
System.out.println("ABC kamatna stopa: " + b1.getKamatnaStopa());
System.out.println("DEF kamatna stopa: " + b2.getKamatnaStopa());
System.out.println("GHI kamatna stopa: " + b3.getKamatnaStopa());
// Banka b4 = new DEF();
// povlaci kamatnu stopu od klase DEF
Result:
109 Poly3
public class Bicikla {
int maxBrzina = 70;
}
public class Motor extends Bicikla {
int maxBrzina = 220;
}
Bicikla b = new Bicikla();
Bicikla m = new Motor();
System.out.println(b.maxBrzina);
System.out.println(m.maxBrzina);
Result:
110 Poly4
// Napisati klasu Zivotinja koja ima jednu metodu jede, koja ispisuje sta jede zivotinja
// Nparaviti klasu Kuce koja nasleduje klasu Zivotinja i takode ima metodu jede koja ispisuje sta Kuce jede
// Napisati trecu i poslednju klasu Stene koje nasladuje klasu Kuce i metodu koja kaze sta kuce jede
public class Zivotinja {
void jede()
{
System.out.println("jede");
}
}
class Kuce extends Zivotinja {
void jede()
{
System.out.println("jede granule");
}
}
class Stene extends Kuce {
void jede()
{
System.out.println("pije mleko");
}
}
Zivotinja a1, a2, a3;
a1 = new Zivotinja();
a2 = new Kuce();
a3 = new Stene();
a1.jede();
a2.jede();
a3.jede();
Result:
111
public class Zivotinja {
public void jede()
{
System.out.println("jede");
}
}
public class Kuce extends Zivotinja {
public void jede()
{
System.out.println("jede granule");
}
}
public class Stene extends Kuce {
public void jede()
{
System.out.println("pije mleko");
}
}
Zivotinja z1 = new Zivotinja();
Zivotinja z2 = new Kuce();
Zivotinja z3 = new Stene();
z1.jede();
z2.jede();
z3.jede();
Zivotinja[] niz = new Zivotinja[3];
niz[0] = new Zivotinja();
niz[1] = new Kuce();
niz[2] = new Stene();
for (int i = 0; i < niz.length; i++) {
niz[i].jede();
Kuce k = new Stene();
}
Result:
-
112 StudentExtendsPoly
Napraviti klasu Student koja ima
- atribut indeks
- atribut ime
- atribut prezime
- defaultni konstruktor
- konstruktor sa parametrima
- gettere i settere
- metodu koja stampa na kom je studijskom programu
- metodu koja stampa informacije o studentu u formatu:
"Pera Peric br.indeksa 1234.
Napraviti klasu StudentOsnovnih koja nasledjuje klasu Student
- atribut amfiteatar
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student osnovnih studija"
Napraviti klasu StudentMaster koja nasledjuje klasu Student
- atribut laboratorija
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student master studija"
Napraviti klasu StudentDoktorskih koja nasledjuje klasu Student
- atribut kancelarija
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student doktorskih studija"
U main funkciji, napraviti niz studenta (Student[]) tako da se velicina niza i podaci ucitavaju sa tastature.(Iskoristiti for ili while petlju) ako se unese:
1 - podaci za studenta osnovnih studija,
2 - podaci za studenta master studija
3 - podaci za studenta doktorskih studija
public class Student {
private int indeks;
private String ime;
private String prezime;
public Student(int indeks, String ime, String prezime) {
this.indeks = indeks;
this.ime = ime;
this.prezime = prezime;
}
public Student() {
}
public void studijskiProgram()
{}
public void informacije()
{
System.out.println(this.ime + " " + this.prezime + " br. indeksa " + this.indeks);
}
public int getIndeks() {
return indeks;
}
public void setIndeks(int indeks) {
this.indeks = indeks;
}
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 class StudentOsnovnih extends Student {
private String amfiteatar;
public StudentOsnovnih() {
super();
}
public StudentOsnovnih(int indeks, String ime, String prezime, String amfiteatar) {
super( indeks, ime, prezime);
this.amfiteatar = amfiteatar;
}
public String getAmfiteatar() {
return amfiteatar;
}
public void setAmfiteatar(String amfiteatar) {
this.amfiteatar = amfiteatar;
}
@Override
public void studijskiProgram() {
System.out.println("Student osnovnih studija");
}
}
public class StudentMaster extends Student {
String laboratorija;
public StudentMaster()
{
super();
}
public StudentMaster(int indeks, String ime, String prezime, String laboratorija)
{
super( indeks, ime, prezime);
this.laboratorija = laboratorija;
}
public String getLaboratorija() {
return laboratorija;
}
public void setLaboratorija(String laboratorija) {
this.laboratorija = laboratorija;
}
@Override
public void studijskiProgram() {
System.out.println("Student master studija");
}
}
public class StudentDoktorskih extends Student {
String kancelarija;
public StudentDoktorskih() {
super();
}
public StudentDoktorskih(int indeks, String ime, String prezime, String kancelarija)
{
super( indeks, ime, prezime);
this.kancelarija = kancelarija;
}
public String getKancelarija() {
return kancelarija;
}
public void setKancelarija(String kancelarija) {
this.kancelarija = kancelarija;
}
@Override
public void studijskiProgram() {
System.out.println("Student doktorskih studija");
}
}
public class MainStudentThrow {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
Student[] studenti = new Student[n];
int tip = 0;
for (int i = 0; i < studenti.length; i++) {
System.out.print("Unesite tip studenta:");
tip = s.nextInt();
System.out.print("Unesite ime studenta:");
String ime = s.next();
System.out.print("Unesite prezime studenta:");
String prezime = s.next();
System.out.print("Unesite index studenta:");
int index = s.nextInt();
System.out.print("Unesite prostoriju studenta:");
String prostor = s.next();
if (tip == 1) {
studenti[i] = new StudentOsnovnih(index, ime, prezime, prostor);
} else if (tip == 2) {
studenti[i] = new StudentMaster(index, ime, prezime, prostor);
} else if (tip == 3) {
studenti[i] = new StudentDoktorskih(index, ime, prezime, prostor);
}
}
// stampanje studenata
for (int i = 0; i < studenti.length; i++) {
studenti[i].informacije();
}
}
}
Result:
113 Abstraktne klase
abstract class Bicikla {
abstract void run();
}
class Motor extends Bicikla {
void run() {
System.out.println("juri ulicama..");
}
}
public class BiciklaMain {
public static void main(String args[]) {
Bicikla obj = new Motor();
obj.run();
}
}
Result:
114 Abstraktne 2
// Napisati apstraktnu klasu Banka koja ima jednu metudo getKamata
// Napisati klasu UniBanka nasledjuju klasu Banka, sadrzi metodu koja vraca kamatu banke 5%
// Napisati klasu ProBanka koja nasledjuje klasu Banka, sadrzi metodu koja vraca kamatu banke 17%
public abstract class Banka {
abstract int getKamata();
}
public class UniBanka extends Banka {
@Override
public int getKamata() {
return 5;
}
}
public class ProBanka extends Banka {
@Override
public int getKamata() {
return 17;
}
}
// Napisati apstraktnu klasu Banka koja ima jednu metudo getKamata
// Napisati klasu UniBanka nasledjuju klasu Banka, sadrzi metodu koja vraca kamatu banke 5%
// Napisati klasu ProBanka koja nasledjuje klasu Banka, sadrzi metodu koja vraca kamatu banke 17%
Banka b1 = new UniBanka();
Banka b2 = new ProBanka();
Banka [] niz = new Banka [2];
niz[0] = b1;
niz[1] = b2;
for (int i = 0; i < niz.length; i++) {
System.out.println(niz[i].getKamata());
// Banka b = new UniBanka():
// int kamata = b.getKamata();
// System.out.println("Kamata je: " + " % ")
}
Result:
115 Abstraktne 3
Napraviti abstractnu klasu Student koja ima
- atribut indeks
- atribut ime
- atribut prezime
- defaultni konstruktor
- konstruktor sa parametrima
- gettere i settere
- abstract-nu metodu koja stampa na kom je studijskom programu
- abstract-nu metodu koja stampa informacije o studentu
Napraviti klasu StudentOsnovnih koja nasledjuje klasu Student
- atribut amfiteatar
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa,
treba da ispisuje "Student osnovnih studija"
- override-uje metodu koja stampa informacije o studentu u formatu,
"Pera Peric student osnovnih studija amfi A1"
Napraviti klasu StudentMaster koja nasledjuje klasu Student
- atribut laboratorija
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student master studija"
- override-uje metodu koja stampa informacije o studentu u formatu,
"Pera Peric student masterstudija lab L1"
Napraviti klasu StudentDoktorskih koja nasledjuje klasu Student
- atribut kancelarija
- konstruktor sa parametrima, koji poziva super konstruktor sa parametrima
- defaultni konstruktor, koji poziva super defaultni konstruktor
- override-uje metodu za stampanje studijskog programa, treba da ispisuje "Student doktorskih studija"
- override-uje metodu koja stampa informacije o studentu u formatu,
"Pera Peric student doktorskih studija kancelarija K1"
u main funkciji, napraviti niz studenta (Student[]) tako da se velicina niza i podaci ucitavaju sa tastature.(Iskoristiti for ili while petlju)
ako se unese:
1 - podaci za studenta osnovnih studija,
2 - podaci za studenta master studija
3 - podaci za studenta doktorskih studija
public abstract class Student {
private int indeks;
private String ime;
private String prezime;
public Student(int indeks, String ime, String prezime) {
this.indeks = indeks;
this.ime = ime;
this.prezime = prezime;
}
public Student() {
}
public abstract void studijskiProgram();
public abstract void informacije();
public int getIndeks() {
return indeks;
}
public void setIndeks(int indeks) {
this.indeks = indeks;
}
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 class StudentOsnovnih extends Student {
private String amfiteatar;
public StudentOsnovnih() {
super();
}
public StudentOsnovnih(int indeks, String ime, String prezime, String amfiteatar) {
super( indeks, ime, prezime);
this.amfiteatar = amfiteatar;
}
public String getAmfiteatar() {
return amfiteatar;
}
public void setAmfiteatar(String amfiteatar) {
this.amfiteatar = amfiteatar;
}
@Override
public void studijskiProgram() {
System.out.println("Student osnovnih studija");
}
@Override
public void informacije() {
System.out.println(this.getIme() + " " + this.getPrezime() + " student osnovnih studija amfi " + this.amfiteatar);
}
}
public class StudentMaster extends Student {
String laboratorija;
public StudentMaster() {
super();
}
public StudentMaster(int indeks, String ime, String prezime, String laboratorija) {
super( indeks, ime, prezime);
this.laboratorija = laboratorija;
}
public String getLaboratorija() {
return laboratorija;
}
public void setLaboratorija(String laboratorija) {
this.laboratorija = laboratorija;
}
@Override
public void studijskiProgram() {
System.out.println("Student master studija");
}
@Override
public void informacije() {
System.out.println(this.getIme() + " " + this.getPrezime() + " student master studija laboratorija " + this.laboratorija);
}
}
public class StudentDoktorskih extends Student {
String kancelarija;
public StudentDoktorskih() {
super();
}
public StudentDoktorskih(int indeks, String ime, String prezime, String kancelarija) {
super( indeks, ime, prezime);
this.kancelarija = kancelarija;
}
public String getKancelarija() {
return kancelarija;
}
public void setKancelarija(String kancelarija) {
this.kancelarija = kancelarija;
}
@Override
public void studijskiProgram() {
System.out.println("Student doktorskih studija");
}
@Override
public void informacije() {
System.out.println(this.getIme() + " " + this.getPrezime() + " student doktorskih studija kancelarija" + this.kancelarija);
}
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
Student[] studenti = new Student[n];
int tip = 0;
for (int i = 0; i < studenti.length; i++) {
System.out.print("Unesite tip studenta:");
tip = s.nextInt();
System.out.print("Unesite ime studenta:");
String ime = s.next();
System.out.print("Unesite prezime studenta:");
String prezime = s.next();
System.out.print("Unesite index studenta:");
int index = s.nextInt();
System.out.print("Unesite prostoriju studenta:");
String prostor = s.next();
if (tip == 1) {
studenti[i] = new StudentOsnovnih(index, ime, prezime, prostor);
} else if (tip == 2) {
studenti[i] = new StudentMaster(index, ime, prezime, prostor);
} else if (tip == 3) {
studenti[i] = new StudentDoktorskih(index, ime, prezime, prostor);
}
}
// stampanje studenata
for (int i = 0; i < studenti.length; i++) {
studenti[i].informacije();
}
}
}
Result:
-
Domaci 12.11.
116 Vozilo(Abstraktna klasa) poseduje registracioni broj koji moze da se postavi i da se dohvati.
Vozilo takođe poseduje i serijski broj koji se postavlja prilikom kreiranja i moze da se dohvati.
Vozilo takodje poseduje i veličinu rezervoara koja se zadaje prilikom kreiranja i moze da se sam odohvati, kao i trenutnu količinu goriva.
Gorivo moze da mu se doda i da mu se oduzme.
Vozilo poseduje i potrošnju koja se zadaje prilikom kreiranja i moze da se samo dohvati.
Vozilo može da predje zadati broj kilometara(abstraktna metoda) i povratna vrednost je koliko je kilometara uspeo da predje.
Obratiti paznju koliko ima goriva.
Moze da se ispise u obliku:
Ser_broj{reg_broj}[gorivo/rezervoar] - potrosnja L/100km
Automobil je vozilo koje troši gorivo na sledeći način: (1.1*potrošnja)*predjeni_put.
Moze se ispisati u sledećem obliku:
Auto - Ser_broj{reg_broj}[gorivo/rezervoar] - potrosnja L/100km
Teretno vozilo je vozilo koje troši gorivo na sledeći način: 3*(1.1*potrošnja)*predjeni_put.
Moze se ispisati u sledećem obliku:
Teretno - Ser_broj{reg_broj}[gorivo/rezervoar] - potrosnja L/100km
Napisati i glavni program koji testira rad ovih klasa.
public abstract class Vozilo {
private String reg_Broj;
private int ser_Broj;
private double velicinaRezervoara;
private double trenutnoGorivo;
private double potrosnjaGoriva;
public Vozilo(int ser_Broj, double velicinaRezervoara, double trenutnoGorivo, double potrosnjaGoriva) {
this.ser_Broj = ser_Broj;
this.velicinaRezervoara = velicinaRezervoara;
this.trenutnoGorivo = trenutnoGorivo;
this.potrosnjaGoriva = potrosnjaGoriva;
}
public String getreg_Broj() {
return reg_Broj;
}
public void setreg_Broj(String reg_Broj) {
this.reg_Broj = reg_Broj;
}
public int getser_Broj() {
return ser_Broj;
}
public double getVelicinaRezervoara() {
return velicinaRezervoara;
}
public double gettrenutnoGorivo() {
return trenutnoGorivo;
}
public double getPotrosnjaGoriva() {
return potrosnjaGoriva;
}
public double promenaStanjaG(double x) {
double novaKolicina = trenutnoGorivo + x;
return novaKolicina;
}
public abstract double predjeniKm(double predjeniKm);
@Override
public String toString() {
return ser_Broj + "{ " + reg_Broj + "}[ " + trenutnoGorivo + "/" + velicinaRezervoara + "] - "
+ potrosnjaGoriva + " L / 100km";
}
}
public class Automobil extends Vozilo {
public Automobil(int ser_Broj, double velicinaRezervoara, double trenutnoGorivo, double potrosnjaGoriva) {
super(ser_Broj, velicinaRezervoara, trenutnoGorivo, potrosnjaGoriva);
}
public double predjeniKm(double predjeniKm) {
double predjenaKilometraza = super.gettrenutnoGorivo() / (1.1 * super.getPotrosnjaGoriva()) * 100;
if (predjeniKm > predjenaKilometraza) {
return predjenaKilometraza;
} else {
return predjeniKm;
}
}
@Override
public String toString() {
return "Auto - " + super.toString();
}
}
public class Teretno extends Vozilo {
public Teretno(int ser_Broj, double velicinaRezervoara, double trenutnoGorivo,
double potrosnjaGoriva) {
super(ser_Broj, velicinaRezervoara, trenutnoGorivo, potrosnjaGoriva);
}
@Override
public double predjeniKm(double predjeniKm) {
double predjenaKilometraza = super.gettrenutnoGorivo() / 3 * (1.1 * super.getPotrosnjaGoriva()) * 100;
if (predjeniKm > predjenaKilometraza) {
return predjenaKilometraza;
} else {
return predjeniKm;
}
}
@Override
public String toString() {
return "Teretno - " + super.toString();
}
}
public static void main(String[] args) {
Automobil a1 = new Automobil(528432, 45, 15, 7.2);
a1.setreg_Broj("BG 341-LN");
a1.promenaStanjaG(-8);
System.out.println(a1.toString());
System.out.println("Automobil je presao" + " " + a1.predjeniKm(23) + "km");
Teretno t1 = new Teretno(284932, 60, 35, 9.5);
t1.setreg_Broj("NI 842 KT");
t1.promenaStanjaG(8);
System.out.println(t1.toString());
System.out.println("Teretno vozilo je preslo" + " " + t1.predjeniKm(120) + "km");
}
}
Result:
117
public abstract class Planinar {
private String Ime;
private String Prezime;
private int ID;
public Planinar() {
}
public Planinar(String Ime, String Prezime, int ID) {
this.Ime = Ime;
this.Prezime = Prezime;
this.ID = ID;
}
public String getIme() {
return Ime;
}
public String getPrezime() {
return Prezime;
}
public int getID() {
return ID;
}
public void Stampaj() {
System.out.println(+this.ID + " " + this.Ime + " " + this.Prezime + " ");
}
public abstract boolean Uspon (Planina p);
public boolean Uspon() {
// TODO Auto-generated method stub
return false;
}
}
public class Alpinista extends Planinar {
private int Poeni;
public Alpinista(String Ime, String Prezime, int ID, int Poeni) {
super(Ime, Prezime, ID);
this.Poeni = Poeni;
}
public int getPoeni() {
return Poeni;
}
public void setPoeni(int poeni) {
Poeni = poeni;
}
@Override
public boolean Uspon() {
return false;
}
@Override
public void Stampaj() {
System.out.println(+this.getID() + " " + this.getIme() + " " + this.getPrezime() + " " + this.Poeni + " ");
}
@Override
public boolean Uspon(Planina p) {
return false;
}
}
public class Planina {
private String ImePlanine;
private String OkrugPlanine;
private String Drzava;
private int Visina;
public Planina () {
}
public Planina (String ImePlanine, String OkrugPlanine, String Drzava, int Visina) {
this.ImePlanine = ImePlanine;
this.OkrugPlanine = OkrugPlanine;
this.Drzava = Drzava;
this.Visina = Visina;
}
public String getImePlanine() {
return ImePlanine;
}
public void setImePlanine(String imePlanine) {
ImePlanine = imePlanine;
}
public String getOkrugPlanine() {
return OkrugPlanine;
}
public void setOkrugPlanine(String okrugPlanine) {
OkrugPlanine = okrugPlanine;
}
public String getDrzava() {
return Drzava;
}
public void setDrzava(String drzava) {
Drzava = drzava;
}
public int getVisina() {
return Visina;
}
public void setVisina(int visina) {
Visina = visina;
}
}
public class PlaninaMain {
public static void main(String[] args) {
Planinar m1 = new RekreativniPlaninar("Milica", "Stevanovic", 25, "NisavskiOkrug");
Planinar m2 = new RekreativniPlaninar("Uros", "JOvanovic", 26, "RasinskiOkrug");
Alpinista a1 = new Alpinista("Milica", "Stevanovic", 25, 100);
Alpinista a2 = new Alpinista("Milan", "Stevanovic", 27, 200);
Alpinista a3 = new Alpinista("Milos", "Stevanovic", 28, 300);
Alpinista a4 = new Alpinista("Milovan", "Stevanovic", 29, 400);
Alpinista a5 = new Alpinista("Milena", "Stevanovic", 30, 500);
Alpinista[] niz = new Alpinista[5];
niz[0] = a1;
niz[1] = a2;
niz[2] = a3;
niz[3] = a4;
niz[4] = a5;
Planina p1 = new Planina("Babin Zyb", "RO", "Srbija", 2020);
Planina p2 = new Planina("Babin Kuk", "RO", "Srbija", 5050);
Planina p3 = new Planina("Dedin Zub", "RO", "Srbija", 8080);
PlaninarskiDom pd = new PlaninarskiDom("Planinarski dom", 1978, niz);
m1.Stampaj();
a1.Stampaj();
}
}
public class PlaninarskiDom {
private String ImeDoma;
private int Godina;
private Alpinista [] nizAlpinista;
public PlaninarskiDom () {
}
public PlaninarskiDom (String ImeDoma, int Godina, Alpinista [] nizAlpinista) {
this.ImeDoma = ImeDoma;
this.Godina = Godina;
this.nizAlpinista = nizAlpinista;
}
public String getImeDoma() {
return ImeDoma;
}
public void setImeDoma(String imeDoma) {
ImeDoma = imeDoma;
}
public int getGodina() {
return Godina;
}
public void setGodina(int godina) {
Godina = godina;
}
public Alpinista[] getNizAlpinista() {
return nizAlpinista;
}
public void setNizAlpinista(Alpinista[] nizAlpinista) {
this.nizAlpinista = nizAlpinista;
}
public int vratiPoeneZaIme(String ime) {
return Godina;
}
public int vratiPoeneZaImePrezime () {
return Godina;
public void vratiPoeneZaIme1(String Ime) {
if (this.getImeDoma() == Ime); {
System.out.println("Broj ostvarenih poena je: " + this.getPrezime());
}
}
public void vratiPoeneZaImePrezime(String Ime, String Prezime) {
if (this.getImeDoma() == Ime && this.getPrezime() == Prezime); {
System.out.println("Broj ostvarenih poena je: " + this.getPrezime());
} {
System.out.println("-40");
} }
public class RekreativniPlaninar extends Planinar {
private String Okrug;
public RekreativniPlaninar(String Ime, String Prezime, int ID, String Okrug) {
super(Ime, Prezime, ID);
this.Okrug = Okrug;
}
public String getOkrug() {
return Okrug;
}
@Override
public boolean Uspon(Planina p) {
if (p.getVisina() > 4000) {
return true;
} else {
return false;
}
}
@Override
public void Stampaj() {
System.out.println(+this.getID() + " " + this.getIme() + " " + this.getPrezime() + " " + this.Okrug + " ");
}
}
Result:
118
119
-
110
111
110
111
codingbat.com - vezbanje zadataka