Hello
  Home Help Search Login Register DMCA Rules  
19 May 2013, 23:43:22
 

Rapidshare Search
Skoci na stranu:  1 2 3 All   Idi na dno strane
Send this topic    Print
Author Topic: Java  (Read 5477 times)
0 Members and 1 Guest are viewing this topic.

Postovani/a
Hvala vam sto ste postali deo nase zajednice...
mozete skidati sve sto zelite bez registracije na nas forum..
« on: 21 December 2009, 14:10:07 »

Java

Ovde cu izbaciti neke od kodova i osnovnih mogucnosti rada sa javom. Da bi ste pokrenuli sve ovo, morate imati neko okruzenje za to. Npr. Eclipse ili JCreator.

U svakom od datih postova, postoji tacno opisano sta taj program treba da radi. Tako da, uzivajte :)

1-StrukturaPrograma-NaredbeGrananja-IterativneNaredbe

Code:
/*
 * Napisati program koji simulira rad jednostavnog kalkulatora.
 * Kalkulator trazi unos dva broja i operacije koju nad njima treba izvrsiti (+,-,*,/).
 * Pretpostavlja da ce korisnik zeleti vise puta da izvrsi neku racunsku operaciju,
 * pa mu stalno nudi mogucnost novog unosa, sve dok se ne unese rec "kraj".
 */

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Kalkulator {

public static void main(String[] arguments) throws Exception {

BufferedReader ulaz = new BufferedReader(new InputStreamReader( System.in));
String s;

do {
System.out.print("Unesite prvi broj: ");
int prvi = Integer.parseInt(ulaz.readLine());
System.out.print("Unesite drugi broj: ");
int drugi = Integer.parseInt(ulaz.readLine());
System.out.print("Unesite operaciju: ");
String operacija = ulaz.readLine();
char op = operacija.charAt(0);

int rez;

switch (op) {
    case '+':
    rez = prvi + drugi;
    System.out.println("Rezultat sabiranja: " + rez);
    break;
    case '-':
    rez = prvi - drugi;
    System.out.println("Rezultat oduzimanja: " + rez);
    break;
    case '*':
    rez = prvi * drugi;
    System.out.println("Rezultat mnozenja: " + rez);
    break;
    case '/':
    rez = prvi / drugi;
    System.out.println("Rezultat deljenja: " + rez);
    break;
    default:
    System.out.println("Uneta je pogresna operacija!");
}

System.out.println("Ukoliko ne zelite da nastavite rad sa programom unesite 'kraj'.");
System.out.println("U suprotnom pritisnite bilo koji taster.");
s = ulaz.readLine();
} while (!(s.equalsIgnoreCase("kraj")));
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

::postovani, gosti i clanovi... Make RapidBelgrade more strong by donating us. Even donation can make RapidBelgrade better and bigger... You can make donation via PayPal or Payza... ::
Rapidshare Search

« Reply #1 on: 21 December 2009, 14:13:02 »

Code:
/*
 * Napisati program koji prebraja koliko kojih samoglasnika ima u unetom stringu.
 * Podrazumeva se da ce korisnik zeleti da testira vise stringova, pa mu se daje mogucnost
 * da ih unese pri jednom pokretanju programa.
 * Kad zeli da zavrsi rad s programom samo treba da unese tacku.
 */

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Samoglasnici {

public static void main(String[] arguments) throws Exception {

BufferedReader ulaz = new BufferedReader(new InputStreamReader( System.in));
System.out.println("Unesite string: ");
String s = ulaz.readLine();

do {

s = s.toLowerCase();

int countA = 0, countE = 0, countI = 0, countO = 0, countU = 0, i = 0;

for (i = 0; i < s.length(); i++)

switch (s.charAt(i)) {
    case 'a':
    countA++;
    break;
    case 'e':
    countE++;
    break;
    case 'i':
    countI++;
    break;
    case 'o':
    countO++;
    break;
    case 'u':
    countU++;
}

System.out.println("Broj samoglasnika u unetom stringu je: ");
System.out.println("a: " + countA);
System.out.println("e: " + countE);
System.out.println("i: " + countI);
System.out.println("o: " + countO);
System.out.println("u: " + countU);
System.out.println("Ukoliko ne zelite da nastavite rad sa programom unesite '.'");
System.out.println("U suprotnom unesite sledeci string: ");
s = ulaz.readLine();
} while (!s.equals("."));
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #2 on: 21 December 2009, 14:13:51 »

Code:
/*
 * Sa tastature se ucitava temperatura za prvih N dana u godini. Napisati
 * program koji odredjuje maksimalnu temperaturu u tom periodu i redni broj dana
 * kada je temperatura bila maksimalna.
 */

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Temperatura {

public static void main(String[] args) throws Exception {

BufferedReader ulaz = new BufferedReader(new InputStreamReader( System.in));
System.out.println("Unesite broj dana za koje je merena temperatura: ");
int n = Integer.parseInt(ulaz.readLine());
if ((n < 1) || (n > 365)) {
System.out.println("Pogresan unos!");
} else {
System.out.println("Unesite temperaturu za 1. dan: ");
int maxT = Integer.parseInt(ulaz.readLine());
int maxTDan = 1;
int t;

for (int dan = 2; dan <= n; dan++) {
System.out.println("Unesite temperaturu za " + dan + ". dan:");
t = Integer.parseInt(ulaz.readLine());
if (maxT < t) {
maxT = t;
maxTDan = dan;
}
}
System.out.println("Maksimalna temperatura od " + maxT
+ " stepeni izmerena je " + maxTDan + ". dana.");
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #3 on: 21 December 2009, 14:15:22 »

2-OznaceneNaredbe-NaredbePrekidaToka-RadSaFajlovima

Code:
/*
 * Vas prijatelj, koji je nadaleko cuven po svom ugledu kod zena i velikim osvajackim
 * poduhvatima Vas je zamolio za malu pomoc. Naime, do sada je paralelno koristio
 * dva telefonska imenika za belezenje 'vaznih' kontakata (imao je dva mobilna telefona -
 * jedan za koji svi znaju i jedan sa tajnim brojem za posebne prilike).
 * Medjutim, kako mu se pokvario jedan od telefona (srecom brojevi ostadose na kartici),
 * a i postalo mu je jako naporno da pamti gde je sta snimio, zeleo bi nekako da objedini
 * podatke iz ta dva telefonska imenika.
 * Posto nije vican programiranju zamolio Vas je na napisete programcic koji bi ucitao
 * kontakte iz dve datoteke 'Kontakti1.txt' i 'Kontakti2.txt', u kojima su redom
 * navedena imena i brojevi telefona, svaki podatak u posebnom redu. Na primer:
 *
 * Ivana
 * 063226563
 * Jelena
 * 0646215248
 *
 * itd. koliko ih vec ima. U obe datoteke su podaci poredjani leksikografski (sortirani po
 * imenima).
 *
 * Treba redom uzimati podatke iz tih datoteka i obraditi ih tako sto se svi smeste u novu
 * datoteku 'SviKontakti.txt', uz ocuvanje poretka.
 *
 * Dupliranje podataka (a ponavljaju se neka imena u ulaznim datotekama) treba izbeci po svaku
 * cenu. Medjutim, u novom imeniku je dozvoljeno da se za jednu osobu pamti vise brojeva,
 * pa ako se naidje na isto ime u obe ulazne datoteke, treba videti da li se i brojevi poklapaju.
 * Ako su razliciti, sacuvati oba.
 *
 * Voditi racuna i o mogucim greskama pri ucitavanju podataka iz datoteka - da li uopste ima
 * podataka, da li ono sto je dato kao broj telefona ima odgovarajucu vrednost (string duzine
 * 9 ili 10 karaktera koji pocinje sa 060, 061, 062, 063, 064 ili 065 - ovo se brze proverava ako se napravi
 * poseban mali metod koji za zadati broj vraca da li je dobar u navedenom smislu ili nije).
 * Kad se pojavi greska, program prestaje sa radom i dobijamo nepotpun novi imenik.
 */

import java.io.*;

public class Imenik {

static boolean dobar(String broj) {
return (((broj.length() == 9) || (broj.length() == 10))
   && (broj .startsWith("060") || broj.startsWith("061")
|| broj .startsWith("062") || broj.startsWith("063")
|| broj.startsWith("064") || broj.startsWith("065")));
}

public static void main(String[] args) throws Exception {

BufferedReader ulaz1 = new BufferedReader(new InputStreamReader(
new FileInputStream("Kontakti1.txt")));
BufferedReader ulaz2 = new BufferedReader(new InputStreamReader(
new FileInputStream("Kontakti2.txt")));
PrintWriter izlaz = new PrintWriter(new FileWriter("SviKontakti.txt"));

String ime1 = ulaz1.readLine();
String ime2 = ulaz2.readLine();
regularno: {
while ((ime1 != null) && (ime2 != null)) {
if (ime1.compareTo(ime2) < 0) {
izlaz.println(ime1);
String broj1 = ulaz1.readLine();
if (dobar(broj1))
izlaz.println(broj1);
else {
izlaz.println("Greska: pogresan format broja za kontakt " + ime1);
break regularno;
}
ime1 = ulaz1.readLine();
} else if (ime1.compareTo(ime2) == 0) {
izlaz.println(ime1);
String broj1 = ulaz1.readLine();
if (dobar(broj1))
izlaz.println(broj1);
else {
izlaz.println("Greska: pogresan format broja za kontakt " + ime1);
break regularno;
}
String broj2 = ulaz2.readLine();
if (dobar(broj2)) {
if (broj1.compareTo(broj2) != 0)
izlaz.println(broj2);
} else {
izlaz.println("Greska: pogresan format broja za kontakt " + ime2);
break regularno;
}
ime1 = ulaz1.readLine();
ime2 = ulaz2.readLine();
} else {
izlaz.println(ime2);
String broj2 = ulaz2.readLine();
if (dobar(broj2))
izlaz.println(broj2);
else {
izlaz.println("Greska: pogresan format broja za kontakt " + ime2);
break regularno;
}
ime2 = ulaz2.readLine();
}
}
if (!((ime1 == null) && (ime2 == null))) {
if (ime1 != null) {
do {
izlaz.println(ime1);
String broj1 = ulaz1.readLine();
if (dobar(broj1))
izlaz.println(broj1);
else {
izlaz.println("Greska: pogresan format broja za kontakt " + ime1);
break regularno;
}
ime1 = ulaz1.readLine();
} while (ime1 != null);
} else {
do {
izlaz.println(ime2);
String broj2 = ulaz2.readLine();
if (dobar(broj2))
izlaz.println(broj2);
else {
izlaz.println("Greska: pogresan format broja za kontakt " + ime2);
break regularno;
}
ime2 = ulaz2.readLine();
} while (ime2 != null);
}
}
}
izlaz.close();
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #4 on: 21 December 2009, 14:16:34 »

Code:
/*
 * Zamislite da ste vlasnik jednog maloprodajnog objekta (delatnost sami birate). Zelite da
 * izracunate svoju zaradu od neke konkretne nabavke robe - uzeli ste neku robu iz neke
 * veleprodaje, napravili predlog svojih maloprodajnih cena i pre nego sto to pustite u
 * prodaju zelite da vidite koliko cete zaraditi kad prodate svu tu robu po predlozenim cenama.
 * Da biste uocili neke propuste (na primer premala zarada) i na vreme korigovali svoje cene.
 *
 * Program ucitava podatke iz dve datoteke. U prvoj ("Veleprodaja.txt") se nalazi celokupna
 * ponuda neke veleprodaje - artikli, cene i kolicine na lageru (u svakom redu novi podatak),
 * sortirano leksikografski. Na primer:
 *
 * Jaje
 * 4
 * 1000
 * Mleko
 * 43
 * 78
 * Pavlaka
 * 18
 * 56
 * Ulje
 * 74
 * 145
 *
 * U drugoj datoteci se nalaze artikli koje ste za Vas maloprodajni objekat nabavili iz te
 * veleprodaje, opet u istom formatu - naziv nabavljenog artikla, predlog maloprodajne cene,
 * uzeta kolicina. Na primer, u datoteci "Maloprodaja.txt" imate:
 *
 * Mleko // Nabavili smo mleko, 8 komada, i zelimo da ga prodamo po ceni od 55 din.
 * 55
 * 8
 * Pavlaka
 * 27
 * 6
 *
 * tj. neke od stavki iz prve datoteke, ali sa Vasim predlogom maloprodajnih cena.
 *
 * Ako znate da se maloprodajna cena racuna tako sto se na veleprodajnu doda 18% poreza, plus
 * Vasa cista zarada, mozete da napravite program koji ce Vam iskalkulisati koliko cete zaraditi sa
 * datim predlogom maloprodajnih cena.
 *
 * Konkretno - uzimate redom artikle iz datoteke Maloprodaja, trazite njihove veleprodajne cene
 * u datoteci Veleprodaja, izracunate 18% od tih cena, saberete to s njima i onda nadjete razliku
 * u odnosu na Vas predlog maloprodajne cene, tj. cistu dobit. I to pomnozite s kolicinom za
 * taj artikal.
 *
 * Razultat ispisete u datoteku "Zarada.txt", za svaku stavku posebno, kao i ukupnu dobit na kraju
 * (kad se sve sto je nabavljeno i proda).
 * 
 * Vodite racuna i o mogucim greskama pri ucitavanju podataka iz datoteke - da li uopste ima
 * podataka, da li u datoteci Maloprodaja postoji neka stavka koje nema u ponudi veleprodaje,
 * da li zelite da nabavite neki artikal u kolicini vecoj nego sto je trenutno raspoloziva u
 * veleprodaji, da li cete za neku stavku biti na gubitku i sl. Ukoliko dodje do neke greske,
 * ispisete odgovarajucu poruku u fajl i prekinete izvrsavanje programa.
 */

import java.io.*;

public class Profit {

public static void main(String[] args) throws Exception {

BufferedReader ulaz1 = new BufferedReader(new InputStreamReader(
new FileInputStream("Veleprodaja.txt")));
BufferedReader ulaz2 = new BufferedReader(new InputStreamReader(
new FileInputStream("Maloprodaja.txt")));
PrintWriter izlaz = new PrintWriter(new FileWriter("Zarada.txt"));

String artV = ulaz1.readLine();
String artM = ulaz2.readLine();
float cenaV, cenaM, porez, dobit;
int kolV, kolM;
float ukupno = 0;
regularno: {
if (artM == null) {
izlaz.println("Greska! Nista niste nabavili!");
break regularno;
} else {
while ((artV != null) && (artM != null)) {
if (artV.compareTo(artM) == 0) {
cenaV = Float.parseFloat(ulaz1.readLine());
cenaM = Float.parseFloat(ulaz2.readLine());
kolV = Integer.parseInt(ulaz1.readLine());
kolM = Integer.parseInt(ulaz2.readLine());
if (kolM > kolV) {
izlaz.println("Greska! Zeljena kolicina od " + kolM
+ " komada artikla '" + artM
+ "' se trenutno ne moze nabaviti u veleprodaji!");
break regularno;
}
porez = 0.18f * cenaV;
cenaV += porez;
dobit = (cenaM - cenaV) * kolM;
if (dobit < 0) {
izlaz.println("Greska! Zadata cena od " + cenaM
+ " dinara za artikal '" + artM
+ "' dovodi do gubitka od: " + dobit
+ " din.");
break regularno;
}
izlaz.println(artM + ": " + dobit);
ukupno += dobit;
artV = ulaz1.readLine();
artM = ulaz2.readLine();
} else {
cenaV = Float.parseFloat(ulaz1.readLine());
kolV = Integer.parseInt(ulaz1.readLine());
artV = ulaz1.readLine();
}
}
if (artM != null) {
izlaz.println("Greska! Artikal '" + artM
+ "' se ne moze nabaviti u veleprodaji!");
break regularno;
}
izlaz.println("Ukupna zarada: " + ukupno + " din.");
}
}
izlaz.close();
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #5 on: 21 December 2009, 14:17:04 »

Code:
/*
 * Dva prevodioca zajedno rade na kreiranju recnika kompjuterske terminologije. Cilj im je da
 * naprave dvojezicki recnik: englesko-srpski i srpsko-engleski. Neko vreme su skupljali pogodne
 * izraze i zgodne prevode i sad su konacno zadovoljni obimom recnika.
 * Jedino sto svoje ideje i prevode nisu cuvali centralizovano, pa sad treba proveriti da
 * li im se termini poklapaju, gde su razlike i objediniti sve reci u konacno izdanje recnika.
 *
 * Dakle, treba napraviti program koji ucitava podatke iz dve datoteke ('Draft1.txt' i 'Draft2.txt').
 * One sadrze pocetne verzije englesko-srpskog recnika u formi: rec na engleskom, pa u
 * sledecem redu prevod, pa tako koliko god reci ima. Reci su poredjane leksikografski.
 * Na primer:
 *
 * database
 * baza podataka
 * information
 * informacija
 * mouse
 * mis
 * software
 * softver
 *
 * Te ulazne datoteke sami napravite. Potom treba redom uzimati podatke iz njih i obraditi ih
 * tako sto se svi smeste u novu datoteku 'English.txt', uz ocuvanje poretka.
 * Uz to, paralelno kreirati i datoteku 'Srpski.txt' sa istim tim recima ali obrnuto navedenim
 * - prvo srpska rec, pa ispod nje odgovarajuci engleski izraz (ta datoteka nece biti sortirana
 * leksikografski, ali ce predstavljati nekakav srpsko-engleski recnik koji se kasnije moze
 * dalje sredjivati).
 *
 * Dupliranje podataka (a ponavljaju se neke reci u ulaznim datotekama) treba izbeci po svaku
 * cenu. Medjutim, u konacnom recniku je dozvoljeno da se za jedan izraz pamti vise prevoda,
 * pa ako se naidje na isti termin u obe ulazne datoteke, treba videti da li se i prevodi poklapaju.
 * Ako su razliciti, sacuvati oba.
 *
 * Voditi racuna i o mogucim greskama pri ucitavanju podataka iz datoteka - da li uopste ima
 * podataka i sl.
 * Ako se pojavi greska, program prestaje sa radom i dobijamo nepotpune konacne verzije recnika.
 */

import java.io.*;

public class Recnik {

public static void main(String[] args) throws Exception {

BufferedReader ulaz1 = new BufferedReader(new InputStreamReader(
new FileInputStream("Draft1.txt")));
BufferedReader ulaz2 = new BufferedReader(new InputStreamReader(
new FileInputStream("Draft2.txt")));
PrintWriter izlaz1 = new PrintWriter(new FileWriter("English.txt"));
PrintWriter izlaz2 = new PrintWriter(new FileWriter("Srpski.txt"));

String rec1 = ulaz1.readLine();
String rec2 = ulaz2.readLine();
String prevod1;
String prevod2;

regularno: {
if ((rec1 == null) && (rec2 == null)) {
izlaz1.println("Nema podataka ni u jednom od ulaznih fajlova!");
izlaz2.println("Nema podataka ni u jednom od ulaznih fajlova!");
break regularno;
}
while ((rec1 != null) && (rec2 != null)) {
if (rec1.compareTo(rec2) < 0) {
izlaz1.println(rec1);
prevod1=ulaz1.readLine();
izlaz1.println(prevod1);
izlaz2.println(prevod1);
izlaz2.println(rec1);
rec1 = ulaz1.readLine();
} else if (rec1.compareTo(rec2) == 0) {
izlaz1.println(rec1);
prevod1=ulaz1.readLine();
prevod2=ulaz2.readLine();
if (prevod1.equals(prevod2)) {
izlaz1.println(prevod1);
    izlaz2.println(prevod1);
    izlaz2.println(rec1);
}
else {
izlaz1.println(prevod1);
izlaz1.println(rec1);
izlaz1.println(prevod2);
    izlaz2.println(prevod1);
    izlaz2.println(rec1);
    izlaz2.println(prevod2);
    izlaz2.println(rec1);
}
rec1 = ulaz1.readLine();
rec2 = ulaz2.readLine();
} else {
izlaz1.println(rec2);
prevod2=ulaz2.readLine();
izlaz1.println(prevod2);
izlaz2.println(prevod2);
izlaz2.println(rec2);
rec2 = ulaz2.readLine();
}
}
if (!((rec1 == null) && (rec2 == null))) {
if (rec1 != null) {
do {
prevod1=ulaz1.readLine();
izlaz1.println(rec1);
izlaz1.println(prevod1);
izlaz2.println(prevod1);
izlaz2.println(rec1);
rec1 = ulaz1.readLine();
} while (rec1 != null);
} else {
do {
prevod2=ulaz2.readLine();
izlaz1.println(rec2);
izlaz1.println(prevod2);
izlaz2.println(prevod2);
izlaz2.println(rec2);
rec2 = ulaz2.readLine();
} while (rec2 != null);
}
}
}
izlaz1.close();
izlaz2.close();
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #6 on: 21 December 2009, 14:18:36 »

3-Klase-Objekti-Metodi

Code:
/*
 * Kreirati klasu Complex koja ce predstavljati kompleksni broj. Stoga treba da ima dva polja:
 * re i im, konstruktor, te metode za sabiranje i oduzimanje kompleksnog broja sa nekim drugim
 * kompleksnim brojem, kao i metod stampaj() koji sluzi za ispis kompleksnog broja.
 *
 * Napraviti i klasu Kompleksni, u cijem ce se main metodu kreirati dva konkretna kompleksna
 * broja, potom ce se oni sabrati i oduzeti, i ispisace se njihov zbir i razlika.
 */

class Complex {

float re;
float im;

Complex(float re, float im) {
this.re = re;
this.im = im;
}

Complex saberi(Complex a) {
return new Complex(re + a.re, im + a.im);
}

Complex oduzmi(Complex a) {
return new Complex(re - a.re, im - a.im);
}

void stampaj() {
if (im >= 0)
System.out.println(re + "+" + im + "i");
else
System.out.println(re + im + "i");
}
}

public class Kompleksni {

public static void main(String[] arguments) {

Complex prvi = new Complex(5f, 2f);
Complex drugi = new Complex(-1f, 4f);

Complex zbir = prvi.saberi(drugi);

System.out.print("Zbir je: ");
zbir.stampaj();

Complex razlika = prvi.oduzmi(drugi);

System.out.print("Razlika je: ");
razlika.stampaj();
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #7 on: 21 December 2009, 14:19:03 »

Code:
/*
 * Kreirati klasu Ratio koja ce predstavljati racionalni broj. Stoga treba da ima dva polja:
 * br i im, konstruktor, te metode za sabiranje i oduzimanje racionalnog broja sa nekim drugim
 * racionalnim brojem, kao i metod stampaj() koji sluzi za ispis racionalnog broja.
 *
 * Napraviti i klasu Racionalni, u cijem ce se main metodu kreirati dva konkretna racionalna
 * broja, potom ce se oni sabrati i oduzeti, i ispisace se njihov zbir i razlika.
 */

class Ratio {

int br;
int im;

Ratio(int br, int im) {
this.br = br;
this.im = im;
}

Ratio saberi(Ratio a) {
return new Ratio(br * a.im + a.br * im, im * a.im);
}

Ratio oduzmi(Ratio a) {
return new Ratio(br * a.im - a.br * im, im * a.im);
}

void stampaj() {
if ((im < 0) & (br < 0))
System.out.println(- br + "/" + - im);
else
System.out.println(br + "/" + im);
}
}

public class Racionalni {

public static void main(String[] arguments) {

Ratio prvi = new Ratio(5, 2);
Ratio drugi = new Ratio(-1, 4);

Ratio zbir = prvi.saberi(drugi);

System.out.print("Zbir je: ");
zbir.stampaj();

Ratio razlika = prvi.oduzmi(drugi);

System.out.print("Razlika je: ");
razlika.stampaj();
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #8 on: 21 December 2009, 14:20:08 »

4-Nasledjivanje-ApstraktneKlase

Code:
/*
 * Napraviti apstraktnu klasu "Namirnica", sa privatnim poljima "naziv" i "tezina" (u gramima),
 * konstruktorom, potrebnim set/get metodima, apstraktnim metodima "jedenje" i "pijenje"
 * (oba bez argumenata, vracaju logicku vrednost) i metodom "status" (ili apstraktnim pa
 * implementiranim u potklasama, ili u ovoj klasi generickim za sve vrste namirnica - koristeci
 * pristup imenu klase pomocu this.getClass().getName() uz ispis dodatnih informacija iz polja).
 *
 * Klasa "Pice" treba da nasledi klasu "Namirnica", da ima svoj konstruktor i metode "jedenje"
 * i "pijenje". Metod "jedenje", posto je pice u pitanju samo vraca "false" (nista se ne jede), a
 * metod "pijenje" treba da ima jedan argument - "kolicina" u smislu kolicine koja se popije
 * npr. u jednom gutljaju. Prosto se za tu kolicinu smanji raspoloziva tezina neke namirnice
 * (u ovom slucaju pica). Ukoliko tezina postane manja od 0, ona se postavlja na 0 i metod
 * vraca vrednost "false", u suprotnom dobijamo "true". Treba li i ova klasa da bude
 * apstraktna?
 *
 * Analogno tome treba realizovati klasu "Jelo", kod koje su jedino obrnute funkcije metoda
 * "jedenje" i "pijenje" (jer se tu nesto jede, a nista se ne pije).
 *
 * Konacno, realizovati klasu "Vino", koja nasledjuje "Pice", ima konstruktor i metod "pijenje"
 * (bez parametara), koji samo poziva nadredjeni metod za kolicinu od 1000 grama.
 *
 * Opet analogno, klasa "Sir" nasledjuje "Jelo" i ima konstruktor i metod "jedenje" (bez
 * parametara), koji samo poziva nadredjeni metod za kolicinu od 10 grama.
 *
 * Glavna klasa sa "main" metodom treba da se zove "Meze" i da prosto napravi po jedan
 * objekat klasa "Sir" i "Vino", pokusa da jede i pije i ispise sta se desava sa tim namirnicama
 * i njihovim kolicinama pre i posle jela.
 */

abstract class Namirnica {

private String naziv;

private int tezina; // u gramima

Namirnica (String naziv, int tezina) {
this.naziv = naziv;
this.tezina = tezina;
}

String uzmiNaziv() {
return naziv;
}

void staviNaziv(String naziv) {
this.naziv = naziv;
}

int uzmiTezinu() {
return tezina;
}

void staviTezinu(int tezina) {
this.tezina = tezina;
}

abstract boolean jedenje();

abstract boolean pijenje();

String status() {
return this.getClass().getName() + ": " + naziv + " (" + tezina + " g)";
}
}

abstract class Pice extends Namirnica {

Pice(String naziv, int tezina) {
super(naziv, tezina);
}

boolean pijenje(int kolicina) {
staviTezinu(uzmiTezinu() -  kolicina);
if (uzmiTezinu() < 0) {
staviTezinu(0);
return false;
}
return true;
}

boolean jedenje() {
return false;
}
}

class Vino extends Pice {

Vino(String naziv, int tezina) {
super(naziv, tezina);
}

boolean pijenje() {
return pijenje(1000);
}
}

abstract class Jelo extends Namirnica {

Jelo(String naziv, int tezina) {
super(naziv, tezina);
}

boolean pijenje() {
return false;
}

boolean jedenje(int kolicina) {
staviTezinu(uzmiTezinu() -  kolicina);
if (uzmiTezinu() < 0) {
staviTezinu(0);
return false;
}
return true;
}
}

class Sir extends Jelo {

Sir(String name, int weight) {
super(name, weight);
}

boolean jedenje() {
return jedenje(10);
}
}

public class Meze {

public static void main(String [] arguments) {

Sir s = new Sir("Gauda", 200);
Vino v = new Vino("Sardone", 5000);

System.out.println(s.status());
System.out.println(v.status());

if (s.jedenje() && v.pijenje())
System.out.println("Prva tura je uspela!");
else
System.out.println("Prva tura nije uspela! Niste nabavili dovoljnu kolicinu neke namirnice.");

System.out.println(s.status());
System.out.println(v.status());
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #9 on: 21 December 2009, 14:20:33 »

Code:
/*
 * Napraviti apstraktnu klasu "Covek", sa privatnim poljima "ime" i "sredstva", konstruktorom,
 * potrebnim set/get metodima, apstraktnim metodima "idiNaUtakmicu" i "kupiSminku"
 * (sa po jednim argumentom u smislu koliko ce ta akcija da kosta; vracaju logicku vrednost)
 * i metodom "status" (ili apstraktnim pa implementiranim u potklasama, ili u ovoj klasi
 * generickim za sve ljude - koristeci pristup imenu klase pomocu this.getClass().getName()
 * uz ispis dodatnih informacija iz polja).
 *
 * Klasa "Muskarac" treba da nasledi klasu "Covek", da ima svoj konstruktor i implementirane
 * metode "idiNaUtakmicu" i "kupiSminku".
 * Metod "idiNaUtakmicu" treba da ima jedan argument - "trosak" u smislu koliko ce taj
 * odlazak na utakmicu da kosta muskarca. Prosto se za tu svotu smanji raspoloziva sredstva.
 * Ukoliko nema dovoljno sredstava, metod vraca vrednost "false" i ne realizuje odlazak na
 * utakmicu, a u suprotnom dobijamo rezultat "true".
 * Metod "kupiSminku" za muskarce smatramo da nema previse smisla (program nije sirokih
 * shvatanja, samo zbog jednostavnosti i duzine), pa samo vraca "false" (uz eventualno neku
 * smislenu poruku).
 *
 * Analogno tome treba realizovati klasu "Zena", kod koje su jedino obrnute funkcije metoda
 * "idiNaUtakmicu" i "kupiSminku" (jer zene obicno ne trose novce na utakmice, ali zato za
 * sminku nikad nema dovoljno para).
 *
 * Konacno, realizovati klasu "Fudbaler", koja nasledjuje klasu "Muskarac", ima konstruktor sa
 * samo jednim argumentom (ime, jer podrazumevamo da fudbaler u startu mora da ima bar
 * milion dinara na raspolaganju - inace nije nikakav fudbaler), plus redefinise metod
 * "idiNaUtakmicu" tako sto svota koja se prosledi tom metodu kao argument biva dodata na
 * stanje fudbalera, a ne oduzeta, posto fudbaler ide na utakmice da bi nesto zaradio.
 *
 * Opet analogno, klasa "Manekenka" nasledjuje klasu "Zena", ima konstruktor sa jednim
 * argumentom (i manekenta nije nesto ako ima manje od milion dinara) i redefinise metode
 * "idiNaUtakmicu" (vrati "false", ali ispise poruku da ne bi bilo lose razmisliti o tome ko igra
 * na utakmici pa odluciti da li vredi ici) i "kupiSminku" (sa bilo kojom svotom krece u soping,
 * ali trosi sve sto ima, tj. sredstva postavlja na 0).
 *
 * Glavna klasa sa "main" metodom treba da se zove "Potrebe" i da prosto napravi po jedan
 * objekat klasa "Muskarac", "Zena", "Fudbaler" i "Manekenka", pokusa da ih posalje na neku
 * utakmicu ili u kupovinu sminke i ispise sta se desava pre i posle takvih akcija.
 */

abstract class Covek {

private String ime;

private float sredstva;

Covek(String ime, int sredstva) {
this.ime = ime;
this.sredstva = sredstva;
}

String uzmiIme() {
return ime;
}

void staviIme(String ime) {
this.ime = ime;
}

float uzmiSredstva() {
return sredstva;
}

void staviSredstva(float sredstva) {
this.sredstva = sredstva;
}

abstract boolean idiNaUtakmicu(float trosak);

abstract boolean kupiSminku(float trosak);

String status() {
return this.getClass().getName() + ": " + ime + " trenutno ima "
+ sredstva + " din.";
}
}

class Muskarac extends Covek {

Muskarac(String ime, int sredstva) {
super(ime, sredstva);
}

boolean idiNaUtakmicu(float trosak) {
if (uzmiSredstva() - trosak < 0) {
System.out.println("Nema dovoljno novca!");
return false;
} else {
staviSredstva(uzmiSredstva() - trosak);
return true;
}
}

boolean kupiSminku(float trosak) {
System.out.println("Nema sanse!");
return false;
}
}

class Zena extends Covek {

Zena(String ime, int sredstva) {
super(ime, sredstva);
}

boolean idiNaUtakmicu(float trosak) {
System.out.println("Nema sanse!");
return false;
}

boolean kupiSminku(float trosak) {
if (uzmiSredstva() - trosak < 0) {
System.out.println("Nema dovoljno novca!");
return false;
} else {
staviSredstva(uzmiSredstva() - trosak);
return true;
}
}
}

class Fudbaler extends Muskarac {

Fudbaler(String ime) {
super(ime, 1000000);
}

boolean idiNaUtakmicu(float zarada) {
staviSredstva(uzmiSredstva() + zarada);
    return true;
}
}

class Manekenka extends Zena {

Manekenka(String ime) {
super(ime, 1000000);
}

boolean kupiSminku(float zarada) {
staviSredstva(0);
    return true;
}

boolean idiNaUtakmicu(float trosak) {
System.out.println("Zavisi ko igra...");
return false;
}
}

public class Potrebe {

public static void main(String[] arguments) {

Muskarac m = new Muskarac("Petar", 500);
Zena z = new Zena("Milijana", 1500);
Fudbaler fd = new Fudbaler("David");
Manekenka mk = new Manekenka("Naomi");

System.out.println(m.status());
System.out.println(z.status());
System.out.println(fd.status());
System.out.println(mk.status());

if (m.idiNaUtakmicu(200))
System.out.println("Odlicna utakmica!");
m.kupiSminku(2000);

if (z.kupiSminku(900))
System.out.println("Jao sto sam lepa!");
z.idiNaUtakmicu(20);

if (fd.idiNaUtakmicu(20000))
System.out.println("Za ove pare sledeci put necu hteti ni da ustanem iz kreveta!");
fd.kupiSminku(2000);

if (mk.kupiSminku(5000))
System.out.println("Ogledalce, ogledalce moje, najlepsi na svetu ko je?!");
mk.idiNaUtakmicu(500);

System.out.println(m.status());
System.out.println(z.status());
System.out.println(fd.status());
System.out.println(mk.status());
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #10 on: 21 December 2009, 14:21:22 »

Code:
package peteP;

/*
 * Napraviti apstraktnu klasu "Hrana", sa privatnim poljima "naziv" i "tezina" (u gramima),
 * konstruktorom, potrebnim set/get metodima, apstraktnim metodima "jedenje" i "pijenje"
 * (oba bez argumenata, vracaju logicku vrednost) i apstraktnim metodom "status" (vraca
 * string u smislu opisa hrane - informacije iz polja).
 *
 * Klasa "Pivo" treba da nasledi klasu "Hrana", da ima svoj konstruktor (podrazumevana tezina
 * piva je 500 ml) i implementirane metode "status, "jedenje" i "pijenje". Metod "jedenje",
 * posto je pice u pitanju samo vraca "false" (nista se ne jede), a metod "pijenje" treba da
 * smanji raspolozivu tezinu za na primer 100 ml (jedan dobar gutljaj). Ukoliko tezina postane
 * manja od 0, ona se postavlja na 0 i metod vraca vrednost "false", u suprotnom dobijamo
 * "true".
 *
 * Analogno tome treba realizovati klasu "Hleb", kod koje su jedino obrnute funkcije metoda
 * "jedenje" i "pijenje" (jer se tu nesto jede, a nista se ne pije). Znaci kod jedenja se tezina
 * hleba smanji svaki put za npr. 50 grama.
 *
 * Da bi se kompletirao rucak, kreirati i klasu "Kobasica", gotovo identicnu klasi "Hleb", ali
 * se kod njenog "jedenja" tezina smanjuje za recimo 10 grama.
 *
 * Glavna klasa sa "main" metodom treba da se zove "Rucak" i da prosto napravi po jedan
 * objekat klasa "Hleb", "Kobasica i "Pivo", pokusa da jede i pije i ispise sta se desava sa tim
 * vrstama hrane i njihovim kolicinama pre i posle jela.
 */

abstract class Hrana {

private String naziv;

private int tezina; // u gramima

Hrana(String naziv, int tezina) {
this.naziv = naziv;
this.tezina = tezina;
}

String uzmiNaziv() {
return naziv;
}

void staviNaziv(String naziv) {
this.naziv = naziv;
}

int uzmiTezinu() {
return tezina;
}

void staviTezinu(int tezina) {
this.tezina = tezina;
}

abstract boolean jedenje();

abstract boolean pijenje();

abstract String status();
}

class Pivo extends Hrana {

Pivo(String naziv) {
super(naziv, 500);
}

public String status() {
return "Pivo: " + uzmiNaziv() + " (" + uzmiTezinu() + " g)";
}

boolean jedenje() {
return false;
}

boolean pijenje() {
if ((uzmiTezinu() - 100) <= 0) {
staviTezinu(0);
return false;
} else {
staviTezinu(uzmiTezinu() - 100);
return true;
}
}
}

class Hleb extends Hrana {

protected String[] vrsta = { "Beli hleb", "Crni hleb", "Integralni hleb" };

Hleb(int brVrste, int tezina) {
super("Specijalni hleb", tezina);
if ((brVrste >= 0) && (brVrste < vrsta.length))
staviNaziv(vrsta[brVrste]);
}

String status() {
return "Hleb: " + uzmiNaziv() + " (" + uzmiTezinu() + " g)";
}

boolean jedenje() {
if ((uzmiTezinu() - 50) <= 0) {
staviTezinu(0);
return false;
} else {
staviTezinu(uzmiTezinu() - 50);
return true;
}
}

boolean pijenje() {
return false;
}
}

class Kobasica extends Hrana {

public Kobasica(String naziv, int tezina) {
super(naziv, tezina);
}

public String status() {
return "Kobasica: " + uzmiNaziv() + " (" + uzmiTezinu() + " g)";
}

boolean jedenje() {
if ((uzmiTezinu() - 10) <= 0) {
staviTezinu(0);
return false;
} else {
staviTezinu(uzmiTezinu() - 10);
return true;
}
}

boolean pijenje() {
return false;
}
}

public class Rucak {

public static void main(String[] arguments) {

Hleb h = new Hleb(2, 10);
Kobasica k = new Kobasica("Sremska", 200);
Pivo p = new Pivo("Lav");

System.out.println(h.status());
System.out.println(k.status());
System.out.println(p.status());

h.jedenje();
k.jedenje();
p.pijenje();
        if (!h.pijenje())
            System.out.println("Hleb se ne pije!");
        if (!p.jedenje())
            System.out.println("Pivo se ne jede!");
        if (!k.pijenje())
            System.out.println("Kobasica se ne pije!");

System.out .println("Posle rucka:");
System.out.println(h.status());
System.out.println(k.status());
System.out.println(p.status());
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #11 on: 21 December 2009, 14:21:49 »

Code:
/*
 * Napraviti apstraktnu klasu "Stedisa" sa privatnim poljima "ime", "stanje", "racun",
 * konstruktorom, potrebnim set/get metodima i apstraktnim metodima "uplati" (dodaje
 * neku svotu na stanje) i "isplati" (skida neku svotu sa stanja; vraca boolean vrednost u
 * smislu da li je stedisa otisao u minus ili nije, ali to se implementira tek u potklasama).
 *
 * Klase "DevizniStedisa" i "DinarskiStedisa" implementiraju klasu "Stedisa".
 *
 * Klasa "DevizniStedisa" dodaje privatno polje "valuta" (u kom se nalazi tip devizne valute),
 * svoj konstruktor, potrebne set/get metode i implementira metode "uplati" i "isplati" (ne
 * dozvoljava da korisnik ode u minus - ispise odgovarajucu poruku, ne izvrsi transakciju i
 * vrati "false" ukoliko nema dovoljno sredstava za isplatu).
 *
 * Klasa "DinarskiStedisa" dodaje privatno polje "kredit" u kom se nalazi podatak o tome koliko
 * dati stedisa sme da ode u minus. I ona ima svoj konstruktor, potrebne set/get metode i
 * implementira metode "uplati" i "isplati" (vodi racuna da stedisa ne ode u nedozvoljeni
 * minus).
 *
 * Konacno, klasa "Stednja" treba da napravi nekoliko razlicitih instanci stedisa (moze i u nizu)
 * i potom izlista sve osobe koje imaju dinarski racun i mogu da odu u minus više od 10000
 * dinara.
 */

abstract class Stedisa {

private String ime;

private float stanje;

private int racun;

Stedisa(String ime, float stanje, int racun) {
this.ime = ime;
this.stanje = stanje;
this.racun = racun;
}

String getIme() {
return ime;
}

void setIme(String ime) {
this.ime =ime;
}

float getStanje() {
return stanje;
}

void setStanje(float stanje) {
this.stanje = stanje;
}

int getRacun() {
return racun;
}

void setRacun(int racun) {
this.racun = racun;
}

abstract void uplati(float uplata);

abstract boolean isplati(float isplata);
}

class DevizniStedisa extends Stedisa {

private String valuta;

DevizniStedisa(String ime, float stanje, int racun, String valuta) {
super(ime, stanje, racun);
this.valuta = valuta;
}

String getValuta() {
return valuta;
}

void setValuta(String valuta) {
this.valuta = valuta;
}

void uplati(float uplata) {
setStanje(getStanje() + uplata);
}

boolean isplati(float isplata) {
float tempStanje;
tempStanje = getStanje() - isplata;
if (tempStanje >= 0) {
setStanje(tempStanje);
return true;
} else {
System.out.println("Isplata nije dozvoljena");
return false;
}
}
}

class DinarskiStedisa extends Stedisa {

private float kredit;

DinarskiStedisa(String ime, float stanje, int racun, float kredit) {
super(ime, stanje, racun);
this.kredit = kredit;
}

float getKredit() {
return kredit;
}

void setKredit(float kredit) {
this.kredit = kredit;
}

void uplati(float uplata) {
setStanje(getStanje() + uplata);
}

boolean isplati(float isplata) {
float tempStanje;
tempStanje = getStanje() - isplata;
if (tempStanje >= -kredit) {
setStanje(tempStanje);
return true;
} else {
System.out.println("Nedozvoljen minus");
return false;
}
}
}

public class Stednja {

public static void main(String[] arguments) {

Stedisa[] stedise = new Stedisa[3];
stedise[0] = new DinarskiStedisa("Prvi", 467.8f, 7896, 45.6f);
stedise[1] = new DevizniStedisa("Drugi", 45897.4f, 68368, "euro");
stedise[2] = new DinarskiStedisa("Treci", 4774.1f, 573847, 89644.3f);

for (int i = 0; i <= 2; i++) {
if (stedise[i] instanceof DinarskiStedisa
&& ((DinarskiStedisa) stedise[i]).getKredit() > 10000) {
System.out.println(((DinarskiStedisa) stedise[i]).getIme());
}
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #12 on: 21 December 2009, 14:23:07 »

5-Interfejsi

Code:
package sesteP;

/*
 * Dat je interfejs "Drajver" koji definise sledece metode:
 * getOpis(),
 * setOpis(String opis),
 * getVelicina(),
 * setVelicina(int velicina) - postavlja velicinu drajvera u bajtovima,
 * getInstrukcije() - vraca string u kom se nalaze instrukcije za instalaciju drajvera i
 * setInstrukcije(String instrukcije).
 *
 * Klasa "FlashDrajver" implementira interfejs "Drajver" i dodaje polje tipa File (java.io paket).
 *
 * Klase "FlashDrajver98" i "FlashDrajverXP" nasledjuju klasu "FlashDrajver".
 *
 * Program "Drajveri" treba da omoguci korisniku da iz postojeceg niza drajvera izabere one
 * koji su namenjeni za WindowsXP i cije instrukcije su duže od 30 znakova, te da ispise
 * opis takvih drajvera.
 */

import java.io.*;

interface Drajver {

String getOpis();

void setOpis(String opis);

int getVelicina();

void setVelicina(int velicina);

String getInstrukcije();

void setInstrukcije(String instrukcije);
}

class FlashDrajver implements Drajver {

private String opis;

private int velicina;

private String instrukcije;

File fajl;

// implementacija metoda interfejsa Drajver

public String getOpis() {
return opis;
}

public void setOpis(String opis) {
this.opis = opis;
}

public int getVelicina() {
return velicina;
}

public void setVelicina(int velicina) {
this.velicina = velicina;
}

public String getInstrukcije() {
return instrukcije;
}

public void setInstrukcije(String instrukcije) {
this.instrukcije = instrukcije;
}

// konstruktor

FlashDrajver(String opis, int velicina, String instrukcije, File fajl) {
setOpis(opis);
setVelicina(velicina);
setInstrukcije(instrukcije);
this.fajl = fajl;
}

}

class FlashDrajver98 extends FlashDrajver {

FlashDrajver98(String opis, int velicina, String instrukcije, File fajl) {
super(opis, velicina, instrukcije, fajl);
}
}

class FlashDrajverXp extends FlashDrajver {

FlashDrajverXp(String opis, int velicina, String instrukcije, File fajl) {
super(opis, velicina, instrukcije, fajl);
}
}

public class Drajveri {

public static void main(String[] arguments) {
// popunjavanje niza
Drajver[] drajveri = new Drajver[4];
drajveri[0] = new FlashDrajver98("Prvi drajver", 1024,
"Neke instrukcije", null);
drajveri[1] = new FlashDrajverXp("Drugi drajver", 512,
"Neke instrukcije koje sluze", null);
drajveri[2] = new FlashDrajver98("Treci drajver", 2048,
"Neke instrukcije koje sluze samo da", null);
drajveri[3] = new FlashDrajverXp("Cetvrti drajver", 256,
"Neke instrukcije koje sluze samo da popune string", null);

for (int i = 0; i < drajveri.length; i++)
if ((drajveri[i] instanceof FlashDrajverXp)
&& (drajveri[i].getInstrukcije().length() > 30))
System.out.println(drajveri[i].getOpis());
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #13 on: 21 December 2009, 14:23:30 »

Code:
/*
 * Klasa "Sprava" predstavlja neku masinu za odrzavanje higijene. Ima privatna polja "kWh",
 * "dB" i "proizvodjac", konstruktor, potrebne set/get metode, metod opis() i apstraktne metode
 * delujeNa() (sta cisti) i dodatak() (sta se dobija uz tu masinu na poklon kad se kupuje nova).
 * 
 * Interfejs "Pranje" definise metode litaraVode() (vraca koliko vode trosi masina) i vreme()
 * (koliko traje jedno pranje).
 *
 * Interfejs "Susenje" definise metode temperatura() (vraca na kojoj temperaturi se nesto susi) i
 * vreme() (koliko traje jedno susenje).
 *
 * Klasa "VesMasina" predstavlja masinu za pranje vesa, za koju je vazno cuvati i podatak o
 * broju obrtaja u minutu. Ta informacija se dodaje i u opis ves masine. Potrosnja vode pri
 * pranju se racuna kao snaga u kWh() podeljena sa 6, a vreme pranja je trostruko vece od
 * duzine naziva proizvodjaca.
 *
 * Klasa "MasinaZaSudove" predstavlja masinu za pranje i susenje posudja, za koju je potrebno
 * cuvati i podatak o kapacitetu (broj kompleta/osoba). Ta informacija se dodaje i u opis masine.
 * Potrosnja vode pri pranju se racuna kao kod masine za ves, temperatura kao snaga u kWh
 * podeljena sa 60, a vreme pranja i susenja  je sest puta vece od duzine naziva proizvodjaca.
 *
 * Program "Higijena" za zadati niz sprava proverava koje od njih su masine za sudove, ali takve da
 * mogu da operu 12 kompleta posudja, i ispisuje njihove generalije.
 */

abstract class Sprava {

private float kWh;
private int dB;
private String proizvodjac;

Sprava(float kWh, int dB, String proizvodjac) {
this.kWh = kWh;
this.dB = dB;
this. proizvodjac = proizvodjac;
}

public float getkWh() {
return kWh;
}

public void setkWh(float kWh) {
this.kWh = kWh;
}

public int getdB() {
return dB;
}

public void setdB(int dB) {
this.dB = dB;
}

public String getProizvodjac() {
return proizvodjac;
}

public void setProizvodjac(String proizvodjac) {
this.proizvodjac = proizvodjac;
}

abstract String delujeNa();

abstract String dodatak();

String opis() {
return this.getClass().getName() + " marke " + proizvodjac + " (potrosnja: " + kWh
           + " kWh), pravi buku od: " + dB + " dB i sluzi za odrzavanje higijene " + delujeNa()
           + ". \nUz ovu spravu se dobija i " + dodatak();
}

}

interface Pranje {

float litaraVode();

float vreme();

}

interface Susenje {

float temperatura();

float vreme();

}

class VesMasina extends Sprava implements Pranje {

private int brObrtaja;

VesMasina(float kWh, int dB, String proizvodjac, int brObrtaja) {
super(kWh, dB, proizvodjac);
this.brObrtaja=brObrtaja;
}

public float getBrObrtaja() {
return brObrtaja;
}

public void setBrObrtaja(int brObrtaja) {
this.brObrtaja = brObrtaja;
}

String delujeNa() {
return "garderobe";
}

String dodatak() {
return "Calgon";
}

public float litaraVode() {
return getkWh()/6;
}

public float vreme() {
return getProizvodjac().length()*3;
}

String opis() {
return super.opis() + ". \nPri pranju trosi " + litaraVode()
           + " litara vode za " + vreme() + " minuta (broj obrtaja: " + brObrtaja + ").";
}

}

class MasinaZaSudove extends Sprava implements Pranje, Susenje {

private int osoba;

MasinaZaSudove(float kWh, int dB, String proizvodjac, int osoba) {
super(kWh, dB, proizvodjac);
this.osoba = osoba;
}

int getOsoba() {
return osoba;
}

void setOsoba(int osoba) {
this.osoba = osoba;
}

String delujeNa() {
return "posudja";
}

String dodatak() {
return "Calgonit";
}

public float litaraVode() {
return getkWh()/6;
}

public float temperatura() {
return getkWh()/60;
}

public float vreme() {
return getProizvodjac().length()*6;
}

String opis() {
return super.opis() + ". \nPri pranju trosi " + litaraVode()
           + " litara vode za " + vreme() + ", \na susi na temperaturi od "
           + temperatura() + " stepeni za " + vreme() + " minuta (komplet posudja za "
           + osoba + " osoba).";
}

}

public class Higijena {

public static void main(String[] arguments) {

Sprava[] tehnika = {new VesMasina(224, 30, "Elektrolux", 500),
                new MasinaZaSudove(25, 3, "Beko", 8),
            new VesMasina(1.4f, 3, "Candy", 400),
            new MasinaZaSudove(23, 4, "Bosh", 12),
            new VesMasina(234, 3, "Gorenje", 800)};

for (int i = 0; i < tehnika.length; i++)
if ((tehnika[i] instanceof MasinaZaSudove) && (((MasinaZaSudove) tehnika[i]).getOsoba() == 12))
System.out.println(tehnika[i].opis());
}

}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #14 on: 21 December 2009, 14:24:02 »

Code:
package sesteP;

/*
 * Dat je interfejs "Oblik" koji definise sledece metode:
 * getOpis(),
 * getPovrsina(),
 * getObim().
 * Klase "Krug" i "Pravougaonik" implementiraju interfejs "Oblik". Klase imaju dodatna float
 * polja (poluprecnik, duzine stranica).
 * Konacno, klasa "Kvadrat" nasledjuje "Pravougaonik", uz minimalne izmene.
 * Program "Oblici" treba da napravi niz oblika i potom ispise opise svih krugova cija je
 * povrsina veca od 60 cm2.
 */

interface Oblik {

String getOpis();

float getPovrsina();

float getObim();
}

class Krug implements Oblik {

private float r;

Krug(float r) {
this.r = r;
}

float getPr() {
return r;
}

public String getOpis() {
return "Ovo je krug; poluprecnik = "+r;
}

public float getPovrsina() {
return r*r*(float) Math.PI;
}

public float getObim() {
return 2*r*(float) Math.PI;
}
}

class Pravougaonik implements Oblik {

private float a, b;

    Pravougaonik(float a, float b) {
this.a = a;
this.b = b;
}

float getA() {
return a;
}

float getB() {
return b;
}

public String getOpis() {
return "Ovo je pravougaonik; duzina stranice a = " + a + ", a stranice b = " + b;
}

public float getPovrsina() {
return a*b;
}

public float getObim() {
return 2*a+2*b;
}
}

class Kvadrat extends Pravougaonik {

Kvadrat(float a) {
super(a, a);
}

public String getOpis() {
return "Ovo je kvadrat; duzina stranice a = " + getA();
}
}

public class Oblici {

public static void main(String[] arguments) {
// popunjavanje niza
Oblik[] o = new Oblik[4];
o[0] = new Krug(4);
o[1] = new Krug(6);
o[2] = new Pravougaonik(4,8);
o[3] = new Kvadrat(3);

for (int i = 0; i < o.length; i++)
if (o[i] instanceof Krug)
if (o[i].getPovrsina() > 60)
System.out.println(o[i].getOpis());
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #15 on: 21 December 2009, 14:24:32 »

Code:
package sesteP;

/*
 * Dat je interfejs "Instrument" koji definise sledece metode:
 * sviraj() - samo ispis odgovarajuce poruke na ekran.
 * predstaviSe() - vraca naziv instrumenta,
 * nastimujSe() - samo ispis odgovarajuce poruke na ekran.
 *
 * Klase "Duvacki", "Udaraljke" i "Gudacki" implementiraju interfejs "Instrument".
 *
 * Konacno, klase "Limeni" i "Drveni" nasledjuju klasu "Duvacki", uz minimalne izmene.
 *
 * Program "Orkestar" treba da ima tri metoda:
 * solo(Instrument i) - svira samo jedan instrument,
 * svi(Instrument[] i) - svira ceo orkestar,
 * main - napravi niz raznih instrumenata, potom pusti da sviraju prvo samo duvacki, a
 * potom i ceo orkestar.
 */

interface Instrument {

void sviraj();

String predstaviSe();

void nastimujSe();
}

class Duvacki implements Instrument {

public void sviraj() {
System.out.println("Svira duvacki instrument...");
}

public String predstaviSe() {
return "duvacki";
}

public void nastimujSe() {
System.out.println("Stimuje se duvacki instrument...");
}
}

class Udaraljke implements Instrument {

public void sviraj() {
System.out.println("Sviraju udaraljke...");
}

public String predstaviSe() {
return "udaraljke";
}

public void nastimujSe() {
System.out.println("Stimuju se udaraljke...");
}
}

class Gudacki implements Instrument {

public void sviraj() {
System.out.println("Svira gudacki instrument...");
}

public String predstaviSe() {
return "gudacki";
}

public void nastimujSe() {
System.out.println("Stimuje se gudacki instrument...");
}
}

class Limeni extends Duvacki {

public void sviraj() {
System.out.println("Svira limeni " + super.predstaviSe() + " instrument...");
}

public String predstaviSe() {
return "limeni";
}

public void nastimujSe() {
System.out.println("Stimuje se limeni " + super.predstaviSe() + " instrument...");
}
}

class Drveni extends Duvacki {

public void sviraj() {
System.out.println("Svira drveni " + super.predstaviSe() + " instrument...");
}

public String predstaviSe() {
return "drveni";
}

public void nastimujSe() {
System.out.println("Stimuje se drveni " + super.predstaviSe() + " instrument...");
}
}

public class Orkestar {

static void solo(Instrument i) {
i.sviraj();
}

static void svi(Instrument[] e) {
for (int i = 0; i < e.length; i++)
solo(e[i]);
}

public static void main(String[] args) {
Instrument[] o = new Instrument[5];
int i = 0;
o[i++] = new Duvacki();
o[i++] = new Udaraljke();
o[i++] = new Gudacki();
o[i++] = new Limeni();
o[i++] = new Drveni();

System.out.println("Samo duvacki...");
for (i = 0; i < o.length; i++)
if (o[i] instanceof Duvacki)
solo(o[i]);

System.out.println("Ceo orkestar...");
svi(o);
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #16 on: 21 December 2009, 14:24:58 »

Code:
package sesteP;

/*
 * Dat je interfejs "Osoba", koji definise sledece metode:
 * getIme(),
 * setIme(String ime),
 * getGodRodj(),
 * setGodRodj(int godRodj),
 * getPol() – u implemetaciji je muski false, a zenski true
 * setPol(boolean pol).
 *
 * Klasa "Sportista" implementira interfejs "Osoba".
 *
 * Svaki objekat klase "Sportista" sadrzi referencu na po jedan objekat klase "Rezultat".
 * Objekti klase "Rezultat" sadrze niz stringova u kojima se cuvaju podaci o postignutim
 * rezultatima tog sportiste.
 * Objekti klase "Sportista" imaju i sledece podatke: niz kazni (tipa String) i niz u kome se
 * cuvaju sve godine u kojima je dati sportista bio clan reprezentacije.
 *
 * Klasa "Fudbaler" nasledjuje klasu "Sportista" i dodaje polje honorar tipa float.
 *
 * Program "Sport" treba da iz niza tipa Osoba[] izlista sve osobe koje nisu sportisti i
 * sve fudbalere kojima je honorar veci od 10 000.
 */

interface Osoba {

String getIme();

void setIme(String ime);

int getGodRodj();

void setGodRodj(int godRodj);

boolean getPol();

void setPol(boolean pol);
}

class Rezultat {

String[] rezultati;

Rezultat(String[] rezultati) {
this.rezultati = rezultati;
}
}

class Sportista implements Osoba {

private Rezultat rez;

private String[] kazne;

private int[] clanReprezentacije;

private String ime;

private int godRodj;

private boolean pol;

Sportista(String ime, int godRodj, boolean pol, Rezultat rez,
String[] kazne, int[] clanReprezentacije) {
this.ime = ime;
this.godRodj = godRodj;
this.pol = pol;
this.clanReprezentacije = clanReprezentacije;
this.rez = rez;
this.kazne = kazne;
}

public String getIme() {
return ime;
}

public int getGodRodj() {
return godRodj;
}

public boolean getPol() {
return pol;
}

public void setIme(String ime) {
this.ime = ime;
}

public void setGodRodj(int godRodj) {
this.godRodj = godRodj;
}

public void setPol(boolean pol) {
this.pol = pol;
}
}

class Fudbaler extends Sportista {

float honorar;

Fudbaler(String ime, int godRodj, boolean pol, Rezultat rez,
String[] kazne, int[] clanReprezentacije, float honorar) {
super(ime, godRodj, pol, rez, kazne, clanReprezentacije);
this.honorar = honorar;
}
}

public class Sport {

public static void main(String[] arguments) {

// popunjavanje niza
Osoba[] osobe = new Osoba[3];
osobe[0] = new Sportista("Petar", 1982, false, new Rezultat(null), null, null);
osobe[1] = new Fudbaler("Marko", 1234, false, new Rezultat(null), null, null, 12000.0f);
osobe[2] = new Fudbaler("Jana", 2345, true, new Rezultat(null), null, null, 13000.0f);

// provera
for (int i = 0; i < 3; i++) {
if (osobe[i] instanceof Sportista) {
if (osobe[i] instanceof Fudbaler) {
Fudbaler fudbaler = (Fudbaler) osobe[i];
if (fudbaler.honorar > 10000.0f)
System.out.println(fudbaler.getIme());
}
} else {
System.out.println(osobe[i].getIme());
}
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #17 on: 21 December 2009, 14:25:25 »

Code:
/*
 * Klasa "Zivotinja" treba da ima privatna polja "tezina", "starost" i "ime", konstruktor,
 * potrebne set/get metode, metod opis() i apstraktne metode jede() i diseNa().
 * 
 * Interfejs "Plivanje" definise metode brzina() i stil().
 *
 * Klasa "Riba" predstavlja zivotinje koje plivaju. Brzina ribe se racuna kao sestostruka tezina
 * podeljena s godinama starosti. Pri opisu ribe treba da se dobiju i podaci o njenom stilu
 * plivanja i brzini koju moze da postigne.
 *
 * Klasa "Sisar" predstavlja toplokrvne zivotinje za koje je potrebno cuvati i podatak o telesnoj
 * temperaturi. Ta informacija se dodaje i u opis sisara.
 *
 * Klasa "Delfin" predstavlja delfine, sa svim njihovim uobicajenim karakteristikama, uz dodatak
 * koeficijenta inteligencije. Brzina delfina se izrazava kao trostruka tezina podeljena s godinama
 * starosti.
 *
 * Program "ZivotinjskoCarstvo" za zadati niz zivotinja proverava koje od njih su delfini koji
 * mogu da se uclane u Mensu (IQ im je najmanje 148), te ispisuje njihove generalije.
 */

abstract class Zivotinja {

private float tezina;
private int starost;
private String ime;

Zivotinja(float tezina, int starost, String ime) {
this.tezina = tezina;
this.starost = starost;
this. ime = ime;
}

public float getTezina() {
return tezina;
}

public void setTezina(float tezina) {
this.tezina = tezina;
}

public int getStarost() {
return starost;
}

public void setStarost(int starost) {
this.starost = starost;
}

public String getIme() {
return ime;
}

public void setIme(String ime) {
this.ime = ime;
}

abstract String jede();

abstract String diseNa();

String opis() {
return this.getClass().getName() + " " + ime + " (starost: " + starost + " godine, tezina: "
           + tezina + " kg) je zivotinja koja jede " + jede() + ", dise na " + diseNa();
}

}

interface Plivanje {

float brzina();

String stil();

}

class Riba extends Zivotinja implements Plivanje{

Riba(float tezina, int starost, String ime) {
super(tezina, starost, ime);
}

String jede() {
return "alge";
}

String diseNa() {
return "skrge";
}

public float brzina() {
return 6*getTezina()/getStarost();
}

public String stil() {
return "kraul";
}

String opis() {
return super.opis() + ", pliva brzinom od " + brzina() + " m/s (stil " + stil() + ")";
}

}

class Sisar extends Zivotinja {

private float temp;

Sisar(float tezina, int starost, String ime, float temp) {
super(tezina, starost, ime);
this.temp=temp;
}

public float getTemp() {
return temp;
}

public void setTemp(float temp) {
this.temp = temp;
}

String jede() {
return "mleko";
}

String diseNa() {
return "pluca";
}

String opis() {
return super.opis() + ", ima telesnu temperaturu " + temp;
}

}

class Delfin extends Sisar implements Plivanje {

private int IQ;

Delfin(float tezina, int starost, String ime, int IQ) {
super(tezina, starost, ime, 37);
this.IQ = IQ;
}

public int getIQ() {
return IQ;
}

public void setIQ(int IQ) {
this.IQ = IQ;
}

public float brzina() {
return 3*getTezina()/getStarost();
}

public String stil() {
return "delfin";
}

String opis() {
return super.opis() + ", IQ mu je " + IQ
           + ", a pliva brzinom od " + brzina() + " m/s (stil " + stil() + ")";
}

}

public class ZivotinjskoCarstvo {

public static void main(String[] arguments) {

Zivotinja[] zoo = {new Delfin(123, 2, "Bosko", 115), new Riba(1.4f, 3, "Anabela"),
                  new Sisar(23, 4, "Ljubivoje", 34), new Delfin(234, 3, "Lale", 156)};

for (int i = 0; i < zoo.length; i++)
if ((zoo[i] instanceof Delfin) && (((Delfin) zoo[i]).getIQ() >= 148))
System.out.println(zoo[i].opis());
}

}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #18 on: 21 December 2009, 14:26:24 »

6-Nizovi

Code:
/*
 * Napisati program koji kreira dve matrice ispunjene nasumicno odabranim vrednostima u
 * intervalu [0,1], ispisuje ih na ekran, transponuje, mnozi prvu s drugom, a potom drugu s
 * prvom i na kraju ispituje da li su ta dva proizvoda jednaka. Ispisati na ekran sve rezultate.
 */

public class Matrix {

    private final int M;
    private final int N;
    private double[][] data;

    public Matrix(int M, int N) {
        this.M = M;
        this.N = N;
        data = new double[M][N];
    }

    public Matrix(double[][] data) {
        M = data.length;
        N = data[0].length;
        this.data = new double[M][N];
        for (int i = 0; i < M; i++)
            for (int j = 0; j < N; j++)
                    this.data[i][j] = data[i][j];
    }

    public static Matrix random(int M, int N) {
        Matrix A = new Matrix(M, N);
        for (int i = 0; i < M; i++)
            for (int j = 0; j < N; j++)
                A.data[i][j] = Math.random();
        return A;
    }

    public Matrix transpose() {
        Matrix A = new Matrix(N, M);
        for (int i = 0; i < M; i++)
            for (int j = 0; j < N; j++)
                A.data[j][i] = this.data[i][j];
        return A;
    }

    public boolean eq(Matrix B) {
        Matrix A = this;
        if (B.M != A.M || B.N != A.N) throw new RuntimeException("Illegal matrix dimensions.");
        for (int i = 0; i < M; i++)
            for (int j = 0; j < N; j++)
                if (A.data[i][j] != B.data[i][j]) return false;
        return true;
    }

    public Matrix times(Matrix B) {
        Matrix A = this;
        if (A.N != B.M) throw new RuntimeException("Illegal matrix dimensions.");
        Matrix C = new Matrix(A.M, B.N);
        for (int i = 0; i < C.M; i++)
            for (int j = 0; j < C.N; j++)
                for (int k = 0; k < A.N; k++)
                    C.data[i][j] += (A.data[i][k] * B.data[k][j]);
        return C;
    }

    public void show() {
        for (int i = 0; i < M; i++) {
            for (int j = 0; j < N; j++)
                System.out.printf("%9.4f ", data[i][j]);
            System.out.println();
        }
    }

    public static void main(String[] args) {

        Matrix A = Matrix.random(5, 5);
        A.show();
        System.out.println();
       
        Matrix D = Matrix.random(5, 5);
        D.show();
        System.out.println();

        Matrix B = A.transpose();
        B.show();
        System.out.println();
       
        A.times(B).show();
        System.out.println();

        B.times(A).show();
        System.out.println();

        System.out.println(A.times(B).eq(B.times(A)));
        System.out.println();
    }
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #19 on: 21 December 2009, 14:26:54 »

Code:
/*
 * Iz fajla "In.txt" u niz ucitati spisak studenata (svako prezime i ime stoji u posebnom redu), sortirati ga
 * primenom QuickSort algoritma i ispisati u fajl "Out.txt".
 */

import java.io.*;

class QuickSort {

public static void qsort(String[] a, int left, int right) {
int i = left;
int j = right;
String x = a[(left + right) / 2];
String help;

do {
while (a[i].compareTo(x) < 0)
i++;
while (a[j].compareTo(x) > 0)
j--;
if (i <= j) {
help = a[i];
a[i] = a[j];
a[j] = help;
i++;
j--;
}
} while (i <= j);

if (left < j)
qsort(a, left, j);
if (i < right)
qsort(a, i, right);
}

public static void main(String[] args) throws Exception {

BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("In.txt")));
PrintWriter out = new PrintWriter(new FileWriter("Out.txt"));

int i = 0;
String student = in.readLine();
while (student != null) {
i++;
student = in.readLine();
}
in.close();

String[] a = new String[i];
in = new BufferedReader(new InputStreamReader(new FileInputStream("In.txt")));
student = in.readLine();
i = 0;
while (student != null) {
a[i++] = student;
student = in.readLine();
}

qsort(a, 0, a.length - 1);

for (i = 0; i < a.length; i++) {
out.println(a[i]);
}
in.close();
out.close();
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #20 on: 21 December 2009, 14:27:46 »

7-Inicijalizatori-UgnjezdeneKlase

Code:
/*
 * Klasa "Paket" treba da ima:
 * - konstantu "maxPaketa" - podatak o tome koliko je realno moguce
 *   poslati paketa iz jedne poste,
 * - brojac poslatih paketa "brPaketa", inicijalizovan na dva pri prvom
 *   koriscenju klase (postoje bar dve interne postanske posiljke dnevno),
 * - polje "vrednost",
 * - unutrasnju klasu "Sadrzaj", sa privatnim poljem "tezina",
 * - unutrasnju klasu "Odrediste", sa privatnim poljem "adresa",
 * - metod "posalji" sa dva argumenta (tezina, odrediste),
 * - metod "posalji" sa samo jednim argumentom (odrediste) - tezinu uzmemo
 *   kao deseti deo vrednosti,
 * - metod "posaljiCirkular" - uzima adrese iz nekog niza i salje isti paket
 *   na sve njih,
 * - metod "opis" - opisuje paket.
 *
 * Klasa "Posta" onda treba da napravi niz od nekoliko paketa i cirkularno
 * ih posalje na vise adresa (npr. klijenata neke firme). Posto najvazniji
 * klijent trazi da  mu se salju pojedinacni paketi, i to poredjani opadajuce
 * po vrednostima, sortiramo niz paketa i saljemo ih posebno.
 */

class Paket {

public static final int maxPaketa = 30;

static int brPaketa;

private float vrednost;

Sadrzaj s = null;

Odrediste o = null;

static {
brPaketa = 2;
}

Paket(float vrednost) {
this.vrednost = vrednost;
}

float uzmiVrednost() {
return vrednost;
}

class Sadrzaj {
private float tezina;

Sadrzaj(float tezina) {
this.tezina = tezina;
}

public float uzmiTezinu() {
return tezina;
}
}

class Odrediste {
private String adresa;

Odrediste(String kuda) {
adresa = kuda;
}

String uzmiAdresu() {
return adresa;
}
}

void posalji(String odrediste) {
posalji(vrednost / 10, odrediste);
}

void posalji(float tezina, String odrediste) {
s = new Sadrzaj(tezina);
o = new Odrediste(odrediste);
System.out.println("Paket vrednosti " + vrednost + " je poslat na adresu " + o.uzmiAdresu());
if (++brPaketa > maxPaketa)
System.out.println("Ova posta je preopterecena!");
}

void posaljiCirkular(String[] odrediste) {
for (int i = 0; i < odrediste.length; i++)
posalji(odrediste[i]);
}

public void opis() {
System.out .println("Paket cija vrednost iznosi " + vrednost + " dinara");
}
}

public class Posta {

public static void quicksort(Paket[] p, int levi, int desni) {
Paket pom;
int i = levi;
int j = desni;
float x = p[(levi + desni) / 2].uzmiVrednost();
do {
while (p[i].uzmiVrednost() > x)
i++;
while (p[j].uzmiVrednost() < x)
j--;
if (i <= j) {
pom = p[i];
p[i] = p[j];
p[j] = pom;
i++;
j--;
}
} while (i <= j);
if (levi < j)
quicksort(p, levi, j);
if (i < desni)
quicksort(p, i, desni);
}

public static void main(String[] args) {

Paket[] paketi = new Paket[6];

String[] klijenti = new String[] { "Lipov gaj 56", "Mileticeva 23",
"Micurinova 12", "Plitvicka 4" };

for (int i = 0; i < paketi.length; i++) {
paketi[i] = new Paket(i * 100);
paketi[i].posaljiCirkular(klijenti);
}

System.out.println("Najvaznijem klijentu saljemo pakete pojedinacno,"
+ " sortirane po vrednosti (opadajuce).");

quicksort(paketi, 0, paketi.length-1);
for (int i = 0; i < paketi.length; i++) {
paketi[i].posalji("Adresa najvaznijeg klijenta");
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #21 on: 21 December 2009, 14:28:11 »

Code:
/*
 * Klasa "Turnus" treba da ima:
 * - konstantu "maxRadnika",
 * - brojac "brTurnusa", inicijalizovan pri prvom koriscenju klase
 * - polje "naziv",
 * - polje "radnici" u kom cuva podatke o svim radnicima u smeni
 *   (inicijalizovano van konstruktora pri svakom instanciranju klase),
 * - unutrasnju klasu "Radnik", sa poljima "ime" i "plata",
 *   konstruktor i metode "opis" i "povecajPlatu" (za zadati procenat).
 * - metod "opis" - detaljan opis turnusa i radnika u njemu,
 * - metod "formirajTurnus" - uzima imena iz nekog niza i popunjava polje
 *   "radnici" (plate su u startu za sve iste - proizvoljne), uz ispis toka
 *   formiranja turnusa.
 *
 * Klasa "Restoran" onda treba da napravi niz od nekoliko turnusa, sve ih
 * formira i u svakom pronadje najboljeg radnika, pomocu matrice u kojoj se
 * cuvaju podaci o tome koliko je koji radnik novaca doneo firmi tokom svakog
 * radnog dana jedne nedelje. Stampaju se opisi radnika koji su najvise
 * zaradili na nedeljnom nivou i tim radnicima se poveca plata za 20%.
 */

class Turnus {

static final int maxRadnika = 5;

static int brTurnusa;

private String naziv;

Radnik[] radnici;

static {
brTurnusa = 0;
}

{
radnici = new Radnik[maxRadnika];
}

Turnus(String naziv) {
this.naziv = naziv;
brTurnusa++;
}

String getNaziv() {
return naziv;
}

void setNaziv(String naziv) {
this.naziv = naziv;
}

class Radnik {

private String ime;

private float plata;

Radnik(String ime) {
this.ime = ime;
}

Radnik(String ime, float plata) {
this(ime);
this.plata = plata;
}

void povecajPlatu(float procenat) {
plata += procenat * plata / 100;
}

void opis() {
System.out.println("Radnik u turnus " + naziv + " pod imenom " + ime
+ " trenutno ima platu " + plata);
}
}

public void opis() {
System.out.println(naziv + ", sa sledecim radnicima:");
for (int i = 0; i < maxRadnika; i++)
System.out.println("Radnik: " + radnici[i].ime
+ " , trenutna plata: " + radnici[i].plata);
}

public void formirajTurnus(String[] imena) {
System.out.println("Formiranje turnusa: ");
if (imena.length > maxRadnika)
System.out.println("Previse radnika za formiranje turnusa!");
else
for (int i = 0; i < imena.length; i++) {
radnici[i] = new Radnik(imena[i] + brTurnusa);
radnici[i].plata = 10000;
radnici[i].opis();
}
}
}

public class Restoran {

public static void main(String[] args) {

Turnus[] turnusi = new Turnus[4];
String[] imena = new String[] { "Pera", "Mika", "Djoka", "Sima" };
for (int i = 0; i < 4; i++) {
turnusi[i] = new Turnus("Turnus" + (i + 1));
turnusi[i].formirajTurnus(imena);
System.out.println("Najbolji radnik u turnusu " + turnusi[i].getNaziv() + " je: ");
    int[][] NedeljniPromet = new int[][] { { 1000, 5000*i, 2891, 2000, 768, 567, 3234 },
                                         { 2678, 1567, 6722, 3450*i, 123, 3435,345 },
                                                     { 1456, 5350, 351, 6430, 335, 345*i, 3525 },
                                                     { 3120, 4353, 4252, 3241, 322, 3432, 456*i } };
    float max = 0;
    int rbr = 0;
    for (int j = 0; j < NedeljniPromet.length; j++) {
   float zarada = 0;
   for (int k = 0; k < NedeljniPromet[j].length; k++)
  zarada += NedeljniPromet[j][k];
   zarada = zarada / NedeljniPromet[j].length;
   if (zarada > max) {
   max=zarada;
       rbr=j;
   }
    }
    turnusi[i].radnici[rbr].povecajPlatu(20);
    turnusi[i].radnici[rbr].opis();
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #22 on: 21 December 2009, 14:28:35 »

Code:
/*
 * Klasa "Staza" treba da ima:
 * - konstantu "maxSkijasa" - koliko skijasa moze da bude na stazi,
 * - brojac staza "brStaza", inicijalizovan pri prvom koriscenju klase
 * - polje "skijasi" u kom cuva podatke o svim skijasima na stazi
 *   (inicijalizovano van konstruktora pri svakom instanciranju klase),
 * - privatnu unutrasnju klasu "Skijas", sa poljima "ime" i "vreme",
 *   dva konstruktora (sa jednim i dva argumenta) i metodom "opis",
 * - metod "opis" - detaljan opis staze i skijasa na njoj,
 * - metod "popuniStazu" - uzima imena iz nekog niza stringova i vremena
 *   iz niza celih brojeva (npr. u sekundama) i popunjava polje
 *   "skijasi", uz ispis toka popunjavanja staze.
 *
 * Klasa "Slalom" onda treba da napravi niz od nekoliko staza, sve ih
 * popuni, i jos proveri i da li je bilo skijasa koji su postigli neko
 * konkretno vreme (npr. ko je postigao nekakav rekord). Cilj je napraviti
 * poseban metod "trazi", koji bi npr. binarnim pretrazivanjem odradio tu
 * proveru za pojedinacne staze (tj. skijase na njima) i kao takav se
 * pozvao onoliko puta koliko ima staza.
 */

class Staza {

static final int maxSkijasa = 3;

static int brStaza;

Skijas[] skijasi;

static {
brStaza = 0;
}

{
brStaza++;
skijasi = new Skijas[maxSkijasa];
}

class Skijas {

private String ime;

private double vreme;

String uzmiIme() {
return ime;
}

double uzmiVreme(){
return vreme;
}

Skijas(String ime) {
this.ime = ime;
}

Skijas(String ime, int vreme) {
this(ime);
this.vreme = vreme;
}

void opis() {
System.out.println("Skijas " + ime
+ " je presao stazu za " + vreme + " sekundi.");
}
}

public void opis() {
System.out.println("Trenutno smo na stazi sa sledecim skijasima:");
for (int i = 0; i < maxSkijasa; i++)
System.out.println(skijasi[i].ime);
}

public void popuniStazu(String[] imena, double[] vremena) {
for (int i = 0; i < maxSkijasa; i++) {
skijasi[i] = new Skijas(imena[i] + brStaza);
skijasi[i].vreme = vremena[i] + brStaza*100;
skijasi[i].opis();
}
}
}

public class Slalom {

public static int trazi(Staza el, int vreme, int levi, int desni) {
if (levi > desni) {
return -1;
} else {
int srednji = (levi + desni) / 2;
if (el.skijasi[srednji].uzmiVreme() == vreme) {
return srednji;
} else if (el.skijasi[srednji].uzmiVreme() < vreme) {
return trazi(el, vreme, srednji + 1, desni);
} else {
return trazi(el, vreme, levi, srednji - 1);
}
}
}

public static void main(String[] args) {

Staza[] staze = new Staza[4];
String[] imena = new String[] { "Pera", "Mika", "Djoka" };
double[] vremena = new double[] {245,300,453};
for (int i = 0; i < 4; i++) {
staze[i] = new Staza();
staze[i].popuniStazu(imena, vremena);
}
for (int i = 0; i < staze.length; i++) {
int pozicija = trazi(staze[i], 345, 0, staze[i].skijasi.length - 1);
if (pozicija != -1)
System.out.println("Postignut je trazeni rezultat! Skijas: " + staze[i].skijasi[pozicija].uzmiIme());
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #23 on: 21 December 2009, 14:29:29 »

8-Liste

Code:
/*
 * Realizovati red opsluzivanja pomocu liste.
 * Ucitati sa tastature 5 celih brojeva, smestiti ih u red opsluzivanja,
 * izbaciti iz njega prvi element i na kraju ispisati sve sto je ostalo.
 */

import java.io.BufferedReader;
import java.io.InputStreamReader;

class ElementQ {

public int value;

public ElementQ next;

public ElementQ(int value) {
this.value = value;
}

public ElementQ(int value, ElementQ next) {
this.value = value;
this.next = next;
}
}

class QueueList {

private ElementQ first, last;

public void addRear(int number) {
ElementQ newElement = new ElementQ(number);
if (first == null) {
first = newElement;
} else {
last.next = newElement;
}
last = newElement;
}

public int first() {
if (first == null) {
System.out.print("\n*** Queue is empty ***\n");
System.exit(1);
}
return first.value;
}

public int popFirst() {
if (first == null) {
System.out.print("\n*** Queue is empty ***\n");
System.exit(1);
}
ElementQ old = first;
if ((first = first.next) == null) {
last = null;
}
return old.value;
}

public void makeNull() {
first = last = null;
}

public boolean empty() {
return first == null;
}

public String toString() {
String s = "";
for (ElementQ current = first; current != null; current = current.next)
s += current.value + " ";
return s;
}
}

public class Queue {

public static void main(String[] args) throws Exception {

QueueList q = new QueueList();
BufferedReader ulaz = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Put 5 numbers in the queue...");
for (int i = 1; i <= 5; i++) {
int br = Integer.parseInt(ulaz.readLine());
q.addRear(br);
}
if (!q.empty())
System.out.print("\nFirst number " + q.popFirst() + "\n");
else
System.out.print("\n*** Empty Queue! ***\n");
System.out.println("\nQueue: " + q);
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #24 on: 21 December 2009, 14:29:53 »

Code:
/*
 * Retka matrica je matrica sa relativno mnogo nula. Ona se u programu predstavlja listom
 * u kojoj se cuvaju podaci samo o onim elementima koji nisu nule. Za svaki takav
 * element se pamti: indeks vrste elementa, indeks kolone elementa i element. Napisati program
 * koji ispituje da li je kvadratna retka matrica simetricna.
 */

class RMatrica {

private int vrednost;

private int vrsta;

private int kolona;

private RMatrica ostatak;

public RMatrica(int vrednost, int vrsta, int kolona, RMatrica ostatak) {
this.vrednost = vrednost;
this.vrsta = vrsta;
this.kolona = kolona;
this.ostatak = ostatak;
}

public int getVrednost() {
return vrednost;
}

public void setVrednost(int vr) {
vrednost = vr;
}

public int getVrsta() {
return vrsta;
}

public void setVrsta(int vr) {
vrsta = vr;
}

public int getKolona() {
return kolona;
}

public void setKolona(int kol) {
kolona = kol;
}

public RMatrica getOstatak() {
return ostatak;
}

public RMatrica trazi(int vr, int kol) {
if ((vrsta == vr) && (kolona == kol))
return this;
else if (ostatak == null)
return null;
else
return ostatak.trazi(vr, kol);
}

public void dodaj(int vrednost, int vr, int kol) {
if (vrednost != 0) {
if (ostatak != null)
ostatak.dodaj(vrednost, vr, kol);
else
ostatak = new RMatrica(vrednost, vr, kol, null);
}
}

}

public class RetkaMatrica {
public static void main(String[] args) {

int n = 3;
RMatrica m = new RMatrica(1, 1, 1, null);
m.dodaj(2, 1, 3);
m.dodaj(2, 3, 1);
m.dodaj(5, 3, 3);
m.dodaj(3, 1, 2);
m.dodaj(3, 2, 1);

StringBuffer sb = new StringBuffer();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (m.trazi(i, j) != null) {
sb = sb.append(m.trazi(i, j).getVrednost() + "\t");
} else {
sb = sb.append(0 + "\t");
}
}
sb = sb.append("\r\n");
}
System.out.println(sb);

boolean simetricna = true;
int i = 1;
int j;
while ((i < n) && simetricna) {
j = i+1;
while ((j <= n) && simetricna) {
if ((m.trazi(i, j) != null) && (m.trazi(j, i) != null)) {
simetricna = m.trazi(i, j).getVrednost() == m.trazi(j, i).getVrednost();
} else if ((m.trazi(i, j) != null) || (m.trazi(j, i) != null)){
simetricna = false;
}
j++;
}
i++;
}
if (simetricna) {
System.out.println("Matrica je simetricna.");
} else {
System.out.println("Matrica nije simetricna.");
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #25 on: 21 December 2009, 14:31:03 »

9-Izuzeci

Code:
/*
 * Ove godine Deda Mraz je zakljucio da mu je dozlogrdilo silno spustanje niz dimnjake i tegljenje
 * gomile paketica, pogotovo to sto mora da se trudi oko svakakve nezahvalne decurlije. Zato je
 * doneo neke vazne odluke - odredice sopstvenu normu - koliko paketica ce podeliti (da se ne
 * premori), nece nositi poklone nevaljaloj deci, i jako ce dobro pamtiti ko je bio fin prema njemu
 * ove godine, da bi ga u sledecoj opet obisao, ili zaobisao, vec prema zaslugama.
 *
 * Da bi se pomoglo Deda Mrazu da svoje odluke sprovede u delo, treba napraviti tri nove vrste
 * izuzetaka: "NemaDobrih" (niko ne dobija paketic), njegovu podvarijantu "NemaDovoljnoDobrih"
 * (ne moze da se ispuni norma) i "Nepostovanje" (nije bio fin docek Deda Mraza - nema poklona
 * sledece godine).
 *
 * Potom kreirati glavnu klasu "DedaMraz". U posebnim nizovima pamtiti imena dece, njihove
 * faktore dobrote (1-5) i gostoljubivost (true/false). Imena proizvoljno popuniti, a ostale podatke
 * izgenerisati pomocu generatora slucajnih vrednosti.
 * 
 * Od Deda Mraza se trazi da unese svoju normu (koliko paketica je voljan da raznese), ispise se
 * se koja sve deca cekaju na poklone (sa sve informacijama koliko su bila dobra i jesu li
 * gostoljubiva ili nisu), a potom se poziva metod koji trazi samo decu ciji je faktor dobrote >= 3
 * i za njih poziva metod "poseti" (da bi im se urucio paketic. Ako se ne nadje nijedno dobro dete,
 * generise izuzetak tipa "NemaDobrih", a ako se ne ispuni norma izbacuje se izuzetak tipa
 * "NemaDovoljnoDobrih".
 *
 * Metod "poseti" realizuje posetu dobrom detetu, s tim da ukoliko je dete gostoljubivo (npr.
 * spremilo je keks i mleko za Deda Mraza) dobija pohvalu i paketic, a ako nije ovog puta dobija
 * poklon, ali mu se faktor dobrote snizava na 2 i generise se izuzetak tipa "Nepostovanje" sa
 * prikladnom porukom.
 *
 * Obradjuje se sto vise vrsta izuzetaka koji se mogu pojaviti.
 */

import java.io.*;
import java.util.*;

class NemaDobrih extends Exception {
NemaDobrih(String poruka) {
super(poruka);
}
}

class NemaDovoljnoDobrih extends NemaDobrih {
NemaDovoljnoDobrih(String poruka) {
super(poruka);
}
}

class Nepostovanje extends Exception {
Nepostovanje() {
super("Sto kaze, iduce godine nema poklona!");
}
}

public class DedaMraz {

static String[] maliAndjeo;
static double[] faktorDobrote;
static boolean[] gostoljubiv;

static {
maliAndjeo = new String[] {"Raja", "Gaja", "Vlaja", "Paja"};
faktorDobrote = new double[maliAndjeo.length];
gostoljubiv = new boolean[maliAndjeo.length];
Random randGen = new Random();
for (int i = 0; i < faktorDobrote.length; i++) {
faktorDobrote[i] = randGen.nextInt(5) + 1;
gostoljubiv[i] = randGen.nextBoolean();
}
}

static void traziDobre(int norma) throws NemaDobrih {
int dobrih = 0;
int kandidat = 0;
while (kandidat < maliAndjeo.length && dobrih < norma) {
if (faktorDobrote[kandidat] >= 3) {
dobrih++;
try {
System.out.println("Da vidimo sta nam radi " + maliAndjeo[kandidat]);
poseti(kandidat);
} catch (Nepostovanje ex) {
System.out.println(ex.getMessage());
}
}
kandidat++;
}
if (dobrih == 0){
throw new NemaDobrih("Jel' moguce da niko nije bio dobar ove godine?!");
} else if (dobrih < norma)
throw new NemaDovoljnoDobrih("Pih, ne mogu ni rodjenu smanjenu normu da ispunim! Ova danasnja mladez, ccc");
}

static void poseti(int rbr) throws Nepostovanje {
if (gostoljubiv[rbr]) {
System.out.println(maliAndjeo[rbr] + " je ostavio keks i mleko za Deda Mraza! Ispunice mu se sve zelje.");
}
    else {
System.out.println(maliAndjeo[rbr] + " nista nije spremio :-(");
    faktorDobrote[rbr] = 2;
throw new Nepostovanje();
}
}

public static void main(String[] args) {
BufferedReader ulaz = new BufferedReader(new InputStreamReader(System.in));
int norma;
try {
System.out.println("Dobro jutro Deda Mraze. Kakve smo volje danas? Koliko paketica delimo?");
norma = Integer.parseInt(ulaz.readLine());
System.out.println("Na poklone cekaju sledeci andjelcici:");
for (int i=0;i<maliAndjeo.length;i++) {
System.out.print(maliAndjeo[i] + " - faktor dobrote: " + faktorDobrote[i]);
if (gostoljubiv[i])
    System.out.println(" - gostoljubiv");
else
System.out.println(" - negostoljubiv");
}
traziDobre(norma);
} catch (IOException e) {
System.out.println("Doslo je do neke greske pri unosu podataka.");
} catch (NumberFormatException nfe) {
System.out.println("Niste dobro uneli broj paketica.");
} catch (NemaDobrih ex) {
System.out.println(ex.getMessage());
} finally {
System.out.println("Utece Deda Mraz na godisnji odmor!");
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #26 on: 21 December 2009, 14:31:32 »

Code:
/*
 * Napraviti tri nove vrste izuzetaka:
 *
 * - "NemaPrinceze" - konstruktor prosledjuje konstruktoru natklase poruku o tome kako nema
 *    nijedne udavace sa odgovarajucom velicinom noge,
 *             
 * - "PogresnaUdavaca" - konstruktor sa parametrom - porukom koja se prosledjuje konstruktoru
 *   natklase,
 *             
 * - "HappyEnd" - konstruktor prosledjuje konstruktoru natklase poruku o tome kako su princ i
 *   Pepeljuga ziveli srecno do kraja zivota.
 *
 * Kreirati glavnu klasu "Pepeljuga". U dva niza pamtiti imena svih udavaca u kraljevstvu i brojeve
 * cipela koje one nose. Imena proizvoljno popuniti, a brojeve izgenerisati pomocu generatora
 * slucajnih brojeva. Smatra se da je normalno da zena nosi cipele velicine u opsegu 36-45.
 *
 * Realizovati i nekoliko metoda:
 *                 
 * - "traziPrincezu" - za zadati broj pronadjene cipelice proverava prvo da li postoji udavaca sa
 *   odgovarajucom velicinom noge. Ako ne nadje nijednu generise "NemaPrinceze" izuzetak.
 *   Za svaku potencijalnu princezu sa odgovarajucom velicinom noge poziva metod "probaj" i
 *   obradjuje eventualni izuzetak koji on generise.
 *                   
 * - "probaj" - proverava da li se udavaca sa odgovarajucom velicinom noge zove bas Pepeljuga.
 *   Ako joj ime nije odgovarajuce, generise "PogresnaUdavaca" izuzetak. Ukoliko je pak i ime
 *   korektno, generise se "HappyEnd" izuzetak.
 *               
 * - "main" - trazi od princa da unese koji je broj pronadjene cipelice, ispise trenutno stanje u
 *   kraljevstvu - koje su udavace na raspolaganju i koji broj cipela svaka od njih nosi, a potom
 *   poziva metod "traziPrincezu" u nadi da ce naci Pepeljugu. Obradjuje sto vise vrsta izuzetaka
 *   koji se mogu pojaviti.
 */

import java.io.*;
import java.util.*;

class NemaPrinceze extends Exception {
NemaPrinceze() {
super("Nema nijedne udavace sa odgovarajucom velicinom noge!");
}
}

class PogresnaUdavaca extends Exception {
PogresnaUdavaca(String poruka) {
super(poruka);
}
}

class HappyEnd extends Exception {
HappyEnd() {
super("I ziveli su srecno do kraja zivota...");
}
}

class Pepeljuga {

static String[] udavace;
static int[] brojeviCipela;

static {
udavace = new String[] {"Zlocka","Nogata","Lazljivica","Pepeljuga","Sponzorusa"};
brojeviCipela = new int[udavace.length];
Random randGen = new Random();
for (int i = 0; i < brojeviCipela.length; i++) {
brojeviCipela[i] = randGen.nextInt(10)+36;
}
}

static void traziPrincezu(int brojNadjene) throws NemaPrinceze,HappyEnd {
boolean ima=false;
for (int i=0;i<udavace.length;i++) {
if (brojeviCipela[i] == brojNadjene) {
ima=true;
System.out.println("Ima nade da ce se pronaci Pepeljuga :-)");
try {
probaj(i);
} catch (PogresnaUdavaca ex) {
System.out.println(ex.getMessage());
}
}
}
if (!ima){
throw new NemaPrinceze();
}
}

static void probaj(int rbr) throws PogresnaUdavaca,HappyEnd {
if (udavace[rbr].equals("Pepeljuga")){
System.out.println("Pepeljuga je pronadjena!");
throw new HappyEnd();
}
    else
throw new PogresnaUdavaca("Ne pase cipela. To nije ta :-(");
}

public static void main(String[] args) {
BufferedReader ulaz = new BufferedReader(new InputStreamReader(System.in));
int brojNadjene;
try {
System.out.println("Dobar dan prince. Koji je broj pronadjene cipelice?");
brojNadjene = Integer.parseInt(ulaz.readLine());
System.out.println("U kraljevstvu su trenutno sledece udavace:");
for (int i=0;i<udavace.length;i++)
System.out.println(udavace[i] + " - broj cipela: " + brojeviCipela[i]);
traziPrincezu(brojNadjene);
} catch (IOException e) {
System.out.println("Doslo je do neke greske pri unosu podataka.");
} catch (NumberFormatException nfe) {
System.out.println("Niste dobro uneli broj nadjene cipelice.");
} catch (NemaPrinceze ex) {
System.out.println(ex.getMessage());
} catch (HappyEnd hex) {
System.out.println(hex.getMessage());
} finally {
System.out.println("Cica-mica i gotova prica!");
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #27 on: 21 December 2009, 14:32:35 »

10-Apleti

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Lights extends JApplet {

class Polje extends JPanel {

int n;
Polje(int i) {
this.n = i;
setBackground(Color.black);
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
lightenUp(n);
}
});
}

public void lightenUp(int n) {
if (light[n / 4][n % 4].getBackground() == Color.black) {
light[n / 4][n % 4].setBackground(new Color((float) Math.random(), (float) Math.random(), (float) Math.random()));
lightsOn++;
} else {
light[n / 4][n % 4].setBackground(Color.black);
lightsOn--;
}
try {
if (light[n / 4 - 1][n % 4].getBackground() == Color.black) {
light[n / 4 - 1][n % 4].setBackground(new Color((float) Math.random(), (float) Math.random(), (float) Math.random()));
lightsOn++;
} else {
light[n / 4 - 1][n % 4].setBackground(Color.black);
lightsOn--;
}
} catch (ArrayIndexOutOfBoundsException ae) {}
try {
if (light[n / 4 + 1][n % 4].getBackground() == Color.black) {
light[n / 4 + 1][n % 4].setBackground(new Color((float) Math.random(), (float) Math.random(), (float) Math.random()));
lightsOn++;
} else {
light[n / 4 + 1][n % 4].setBackground(Color.black);
lightsOn--;
}
} catch (ArrayIndexOutOfBoundsException ae) {}
try {
if (light[n / 4][n % 4 - 1].getBackground() == Color.black) {
light[n / 4][n % 4 - 1].setBackground(new Color((float) Math.random(), (float) Math.random(), (float) Math.random()));
lightsOn++;
} else {
light[n / 4][n % 4 - 1].setBackground(Color.black);
lightsOn--;
}
} catch (ArrayIndexOutOfBoundsException ae) {}
try {
if (light[n / 4][n % 4 + 1].getBackground() == Color.black) {
light[n / 4][n % 4 + 1].setBackground(new Color((float) Math.random(), (float) Math.random(), (float) Math.random()));
lightsOn++;
} else {
light[n / 4][n % 4 + 1].setBackground(Color.black);
lightsOn--;
}
} catch (ArrayIndexOutOfBoundsException ae) {}
if (lightsOn == 16) {
dlg = new TreeDialog(null);
dlg.setVisible(true);
}
}
}

class TreeDialog extends JDialog {

public TreeDialog(JFrame parent) {
super(parent, "All on", true);
Container cp = getContentPane();
cp.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 15));
ImageIcon tree = new ImageIcon(getClass().getResource("Tree.gif"));
cp.add(new JLabel(tree));
setSize(200, 270);
}
}

protected Polje light[][];
protected int lightsOn = 0;
private TreeDialog dlg;

public void init() {

Container cp = getContentPane();
light = new Polje[4][4];

JPanel glavni = new JPanel();
glavni.setBackground(Color.white);
glavni.setLayout(new GridLayout(4, 4, 1, 1));
for (int i = 0; i < 16; i++) {
glavni.add(light[i / 4][i % 4] = new Polje(i));
}
cp.add(glavni, BorderLayout.CENTER);

JButton allOff = new JButton("All off");
allOff.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (lightsOn < 16) {
int val = JOptionPane.showConfirmDialog(Lights.this, "Sure?", "Yes/No",
                                                     JOptionPane.YES_NO_OPTION);
if (val == JOptionPane.YES_OPTION)
resetuj();
} else {
resetuj();
}
}
});
cp.add(allOff, BorderLayout.NORTH);
}

public void resetuj() {
for (int i = 0; i < 16; i++) {
light[i / 4][i % 4].setBackground(Color.black);
}
lightsOn = 0;
}

private static JApplet applet;

public static void main(String[] args) {
JFrame frame = new JFrame("Lights");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
applet = new Lights();
applet.init();
applet.start();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
applet.stop();
applet.destroy();
}
});
frame.getContentPane().add(applet);
frame.setSize(200, 270);
frame.setVisible(true);
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #28 on: 21 December 2009, 14:32:59 »

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;

public class Magic extends JApplet {

class Polje extends JTextField {

int n;

Polje(int i) {
this.n = i;
setBackground(Color.white);
setHorizontalAlignment(JTextField.CENTER);
getDocument().addDocumentListener(new MyTextListener());
}

class MyTextListener implements DocumentListener {
public void changedUpdate(DocumentEvent e) { }
public void insertUpdate(DocumentEvent e) {
String text = getText();
try {
int num = Integer.parseInt(text);
if (num <1 || num >9) {
throw new NumberFormatException();
}
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Nedozvoljena vrednost!",
                                                  "Greska", JOptionPane.ERROR_MESSAGE);
}
proveri();
}
public void removeUpdate(DocumentEvent e) { }
}

public void proveri() {
int i = 0;
int j = 0;
int s = 0;
for (i = 0; i < number.length; i++) {
s = 0;
for (j = 0; j < number[0].length; j++) {
try {
s = s + Integer.parseInt(number[i][j].getText());
} catch (NumberFormatException ex) { }
}
if (s != 15) {
break;
}
}
int p = 0;
for (j = 0; j < number[0].length; j++) {
p = 0;
for (i = 0; i < number.length; i++) {
try {
p = p + Integer.parseInt(number[i][j].getText());
} catch (NumberFormatException ex) { }
}
if (p != 15) {
break;
}
}
int d1 = 0;
for (i = 0; i < number.length; i++) {
try {
d1 = d1 + Integer.parseInt(number[i][i].getText());
} catch (NumberFormatException ex) { }
}
int d2 = 0;
for (i = 0; i < number.length; i++) {
try {
d2 = d2 + Integer.parseInt(number[i][number.length - i - 1].getText());
} catch (NumberFormatException ex) { }
}
if (s == 15 && p == 15 && d1 == 15 && d2 == 15) {
dlg = new SantaDialog(null);
dlg.setVisible(true);
}
}
}

class SantaDialog extends JDialog {

public SantaDialog(JFrame parent) {
super(parent, "Happy New Year!", true);
Container cp = getContentPane();
ImageIcon santa = new ImageIcon(getClass().getResource("SantaSmile.jpg"));
cp.add(new JLabel(santa));
setSize(340, 340);
}
}

protected Polje number[][];
private SantaDialog dlg;
static Random r = new Random();

public void init() {

Container cp = getContentPane();
number = new Polje[3][3];

JPanel glavni = new JPanel();
glavni.setLayout(new GridLayout(3, 3, 1, 1));
for (int i = 0; i < 9; i++) {
glavni.add(number[i / 3][i % 3] = new Polje(i));
}
boolean[] picked = new boolean[9];
for (int i = 0; i < 3; i++) {
int t;
do
t = r.nextInt(9);
while (picked[t]);
number[t / 3][t % 3].setText(Integer.toString(r.nextInt(9)+1));
number[t / 3][t % 3].setEditable(false);
picked[t] = true;
}
cp.add(glavni, BorderLayout.CENTER);

JButton allOff = new JButton("Ponovo");
allOff.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int val = JOptionPane.showConfirmDialog(Magic.this, "Da li ste sigurni?", "Sigurno?",
                            JOptionPane.YES_NO_OPTION);
if (val == JOptionPane.YES_OPTION)
resetuj();
}
});
cp.add(allOff, BorderLayout.SOUTH);
}

public void resetuj() {
for (int i = 0; i < 9; i++) {
number[i / 3][i % 3].setBackground(Color.white);
number[i / 3][i % 3].setText("");
number[i / 3][i % 3].setEditable(true);
}
boolean[] picked = new boolean[9];
for (int i = 0; i < 3; i++) {
int t;
do
t = r.nextInt(9);
while (picked[t]);
number[t / 3][t % 3].setText(Integer.toString(r.nextInt(9)+1));
number[t / 3][t % 3].setEditable(false);
picked[t] = true;
}
}

private static JApplet applet;

public static void main(String[] args) {
JFrame frame = new JFrame("Magic");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
applet = new Magic();
applet.init();
applet.start();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
applet.stop();
applet.destroy();
}
});
frame.getContentPane().add(applet);
frame.setSize(340, 340);
frame.setVisible(true);
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #29 on: 21 December 2009, 14:33:57 »

11-Kolekcije

Code:
/*
 * Klasa "Birac" ima privatna polja "prezime", "ime" i "maticniBroj", potrebne set/get metode i
 * konstruktor. Ona treba da implementira interfejs Comparable (porede se prezimena, a potom
 * i imena ukoliko je potrebno).
 *
 * Glavna klasa "BirackiSpisak" sluzi za formiranje jednostavnog birackog spiska. Sa tastature se
 * unose prezimena, imena i maticni brojevi stanovnika neke regije. Program te podatke smesta u
 * pogodnu kolekciju, ciji su elementi instance klase "Birac". Kraj unosa oznacava prazan string
 * unet umesto prezimena sledeceg biraca.
 *
 * Na kraju izlistati biracki spisak bez duplikata (koristeci iterator), takav da su biraci sortirani
 * leksikografski (uz ignorisanje razlike izmedju velikih i malih slova).
 */

import java.io.*;
import java.util.*;

class Birac implements Comparable<Birac> {

private String prezime;
private String ime;
private long maticniBroj;

public String getPrezime() {
return prezime;
}

public String getIme() {
return ime;
}

public long getMaticniBroj() {
return maticniBroj;
}

public void setPrezime(String prezime) {
this.prezime = prezime;
}

public void setIme(String ime) {
this.ime = ime;
}

public void setMaticniBroj(long maticniBroj) {
this.maticniBroj = maticniBroj;
}

Birac(String prezime, String ime, long maticniBroj) {
this.prezime = prezime;
this.ime = ime;
this.maticniBroj = maticniBroj;
}

public int compareTo(Birac b) {
if (prezime.toLowerCase().compareTo(b.prezime.toLowerCase()) < 0) {
return -1;
}
if (prezime.toLowerCase().compareTo(b.prezime.toLowerCase()) > 0) {
return 1;
} else {
return ime.toLowerCase().compareTo(b.ime.toLowerCase());
}
}

}

public class BirackiSpisak {

public static void main(String[] arguments) throws Exception {

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
TreeSet<Birac> skup = new TreeSet<Birac>();

System.out.println("Pocetak");
System.out.println("------------");
System.out.println("Unesite prezime biraca: ");
String prezime = in.readLine();
while (!(prezime.equals(""))) {
System.out.println("Unesite ime biraca: ");
String ime = in.readLine();
System.out.println("Unesite maticni broj: ");
long broj = Long.parseLong(in.readLine());
Birac Birac = new Birac(prezime, ime, broj);
skup.add(Birac);
System.out.println("Unesite prezime biraca: ");
prezime = in.readLine();
}
System.out.println("Kraj unosa");

System.out.println("--------------");

System.out.println("Biracki spisak:");
Iterator<Birac> iter = skup.iterator();
while (iter.hasNext()) {
Birac b = iter.next();
System.out.println(b.getPrezime() + " " + b.getIme() + ", " + b.getMaticniBroj());
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #30 on: 21 December 2009, 14:34:20 »

Code:
package dvanaesteP;
/*
 * Klasa "Osoba" ima privatna polja "ime" i "broj" (telefona), potrebne set/get metode i
 * konstruktor. Ona treba da implementira interfejs Comparator.
 *
 * Glavna klasa "Imenik" sluzi za realizaciju jednostavnog telefonskog imenika. Sa tastature se
 * ucitavaju (dok se ne unese prazan string) parovi (string, broj), koji predstavljaju kombinacije
 * imena i brojeva telefona nekih osoba. Podaci se smestaju u objekte klase "Osoba", koji se cuvaju
 * u listi (koristiti LinkedList), tako da se pri svakom ubacivanju odrzava sortiranost liste.
 * Kriterijum za sortiranje je ime osobe, tj. kao i u pravom imeniku, osobe su poredjane po abecedi.
 * Pri sortiranju ignorisati razliku izmedju velikih i malih slova.
 * Na kraju, koristeci iterator, ispisati sadrzaj imenika.
 */

import java.io.*;
import java.util.*;

class Osoba implements Comparator<Osoba> {

private String ime;
private int broj;

public int getBroj() {
return broj;
}

public String getIme() {
return ime;
}

public void setBroj(int broj) {
this.broj = broj;
}

public void setIme(String ime) {
this.ime = ime;
}

Osoba(String ime, int broj) {
this.ime = ime;
this.broj = broj;
}

public boolean equals(Osoba o) {
if (o == null) {
return false;
} else {
return (o.getIme().equals(ime) && (o.getBroj() == broj));
}
}

public int compare(Osoba o1, Osoba o2) {
String s1 = o1.getIme();
String s2 = o2.getIme();
return s1.toLowerCase().compareTo(s2.toLowerCase());
}
}

public class Imenik {

public static void main(String[] arguments) throws Exception {

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
LinkedList<Osoba> lista = new LinkedList<Osoba>();

System.out.println("Pocetak");
System.out.println("------------");
System.out.println("Unesite ime: ");
String ime = in.readLine();
while (!(ime.equals(""))) {
System.out.println("Unesite broj telefona: ");
int broj = Integer.parseInt(in.readLine());
Osoba osoba = new Osoba(ime, broj);
ListIterator<Osoba> iter = lista.listIterator();
while (iter.hasNext()) {
Osoba item = iter.next();
if (osoba.compare(osoba, item) <= 0) {
iter.previous();
break;
}
}
iter.add(osoba);
System.out.println("Unesite ime: ");
ime = in.readLine();
}
System.out.println("Kraj unosa");

System.out.println("--------------");

System.out.println("Telefonski imenik:");
ListIterator<Osoba> iter = lista.listIterator();
while (iter.hasNext()) {
Osoba os = iter.next();
System.out.println(os.getIme() + ", " + os.getBroj());
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #31 on: 21 December 2009, 14:34:44 »

Code:
/* 
 * Klasa "PropusteniPozivi" sluzi za vodjenje evidencije o propustenim pozivima upucenim jednog
 * tinejdzerki. Njoj je iskljuceno zvono dok je u skoli, pa joj je jako znacajno da nakon nastave
 * vidi spisak poziva koje je propustila. I to poredjanih onako kako njoj odgovara. Posto joj se
 * tekuci decko zove Zoran, zgodno joj je da spisak bude sortiran po abecedi, ali opadajuce, da bi
 * brzo uocila koliko puta ju je on zvao. Nije bitno da li su imena napisana velikim ili malim
 * slovima.
 *
 * Sa tastature se ucitavaju imena ljudi (mladica) koji su zvali nasu tinejdzerku, sve dok se ne
 * unese prazan string. Ona se smestaju u pogodnu strukturu, iz koje se na kraju ispise listing
 * propustenih poziva (koriscenjem iteratora), bez duplikata imena, ali sa dodatnom informacijom o
 * broju njihovog pojavljivanja - za svako ime koliko puta je ta osoba zvala.
 */

import java.io.*;
import java.util.*;

class KoJeZvao implements Comparator<String>{

public int compare(String s1, String s2) {
return - s1.toLowerCase().compareTo(s2.toLowerCase());
}
}

public class PropusteniPozivi {

public static void main(String[] arguments) throws Exception {

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
TreeMap<String, Integer> tm = new TreeMap<String, Integer>(new KoJeZvao());

System.out.println("Pocetak");
System.out.println("------------");
System.out.println("Ko zove? ");
String ime = in.readLine();
while (!(ime.equals(""))) {
if (tm.containsKey(ime))
tm.put(ime, tm.get(ime) + 1);
else
tm.put(ime, 1);
System.out.println("Ko zove? ");
ime = in.readLine();
}
System.out.println("Kraj unosa");

System.out.println("--------------");

System.out.println("Propusteni pozivi:");
Set<String> listing = tm.keySet();
Iterator<String> keyIter = listing.iterator();
while (keyIter.hasNext()) {
   ime = keyIter.next();
   int brPoziva = tm.get(ime);
   System.out.println(ime + " zvao " + brPoziva + " put(a)");
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #32 on: 21 December 2009, 14:35:04 »

Code:
package dvanaesteP;
/*
 * Klasa "Poklon" ima privatna polja "naziv" i "cena", potrebne set/get metode i konstruktor.
 * Ona treba da implementira interfejs Comparable.
 *
 * Glavna klasa "Svadba" sluzi za pravljenje spiska zeljenih poklona za vencanje. Mladenci planiraju
 * svadbu do najsitnijih detalja, pa tako prave i spisak zelja kad su u pitanju pokloni. Otisli su
 * u neku veliku radnju i biraju artikle. Kako odaberu neki artikl (unesu sa tastature njegov
 * naziv i cenu), program treba da ga smesti u listu (koristiti LinkedList) ciji su elementi instance
 * klase "Poklon". Kad zavrse izbor poklona, mladenci unesu prazan string.
 * Pri svakom ubacivanju elementa u listu, odrzava se njena sortiranost. Kriterijum za sortiranje je
 * cena poklona, a cilj je da kupcima (gostima na svadbi) radnja ponudi spisak odabranih poklona
 * poredjanih opadajuce po ceni (od najskupljeg do najjeftinijeg). Takav spisak se ispise na kraju
 * programa (koriscenjem iteratora).
 */

import java.io.*;
import java.util.*;

class Poklon implements Comparable<Poklon> {

private String naziv;
private float cena;

public float getCena() {
return cena;
}

public String getNaziv() {
return naziv;
}

public void setCena(float cena) {
this.cena = cena;
}

public void setNaziv(String naziv) {
this.naziv = naziv;
}

Poklon(String naziv, float cena) {
this.naziv = naziv;
this.cena = cena;
}

public int compareTo(Poklon p) {
return ((Float) cena).compareTo((Float) p.cena);
}
}

public class Svadba {

public static void main(String[] arguments) throws Exception {

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
LinkedList<Poklon> lista = new LinkedList<Poklon>();

System.out.println("Pocetak");
System.out.println("------------");
System.out.println("Unesite naziv poklona: ");
String naziv = in.readLine();
while (!(naziv.equals(""))) {
System.out.println("Unesite cenu poklona: ");
float cena = Float.parseFloat(in.readLine());
Poklon poklon = new Poklon(naziv, cena);
ListIterator<Poklon> iter = lista.listIterator();
while (iter.hasNext()) {
Poklon item = iter.next();
if (poklon.compareTo(item) > 0) {
iter.previous();
break;
}
}
iter.add(poklon);
System.out.println("Unesite naziv poklona: ");
naziv = in.readLine();
}
System.out.println("Kraj unosa");

System.out.println("--------------");

System.out.println("Predlozi poklona:");
ListIterator<Poklon> iter = lista.listIterator();
while (iter.hasNext()) {
Poklon p = iter.next();
System.out.println(p.getNaziv() + ", " + p.getCena());
}
}
}
  • *
  • Zena administratora PiRaT-a!
  • zahvalnica: 86

  • pol: Female
  • Location: Novi Sad
  • Date Registerd:20 May 2009, 14:17:54
  • Posts: 2587
  • Topics: 263
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.0.8 Firefox 3.0.8
    • enferty@hotmail.com
Logged

« Reply #33 on: 10 January 2010, 00:03:22 »

Code:
public class Project
{
public static void main(String args[])
{
int a;
string b;
if(a==0)
{
b = "Zero";
}
else
{
b = "Non-Zero";
}
return;
}
}
  • *
  • zahvalnica: 21

  • pol: Male
  • Date Registerd:28 December 2009, 20:09:52
  • Posts: 808
  • Topics: 40
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.5.7 Firefox 3.5.7
Logged
« Reply #34 on: 10 January 2010, 00:04:07 »

Code:
class Srilankan_Bachelor_ female_professio nal
{
double styles;
short skirts;
long time_to_understand_ problems;
float mind;
void knowledge();
char non_co_operative;
}

class Married_female_ Software_ Professional
{
double weight;
short tempered;
long gossips;
float hopes;
void work();
char unstable;
}

class Female_Engaged_ software_ professional
{
double time_on_phone;
short attention_on_ work;
long boast;
float on_cloud_nine;
void understanding( );
char edgy;
}

class Srilankan_Newly_ Married_software _professional
{
double dinner_invitations;
short time_at_work;
long lunch_breaks;
float talks;
void bank_balance( );
char hen_pecked;
}

class Srilankan_husband_ wife_software_ professional
{
double income;
short temper;
long time_no_see;
float new_software_ company;
void love_life();
char money_minded;
}
  • *
  • zahvalnica: 21

  • pol: Male
  • Date Registerd:28 December 2009, 20:09:52
  • Posts: 808
  • Topics: 40
  • Activity/Aktivnost
    0%
  • OS:
    Windows XP Windows XP
  • Browser:
    Firefox 3.5.7 Firefox 3.5.7
Logged
Skoci na stranu:  1 2 3 All   Idi na vrh strane
Send this topic    Print
 
Skoci na:  


Rapidshare Search



Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC
Page created in 0.236 seconds with 59 queries.

Google visited last this page 29 April 2013, 16:08:58
Theme created by Logo Off