You are on page 1of 6

Reavanje kvadratne jednaine

public class KvadratnaJednacina {


public static void main(String[] args) {
double a=1, b=2, c=3, d;
double x1, x2;
double z1r, z1i, z2r, z2i;
double x;
Primeri
String poruka;
if (a == 0)
if (b == 0)
poruka = "Podaci nemaju smisla";
else {
x = -c / b;
poruka = "Reenje linearne jednaine je " + x;
}
else {
1 2

Reavanje kvadratne jednaine Reavanje kvadratne jednaine


d = b * b - 4 * a * c; poruka = "Realni koreni su " + x1 +
if (d < 0) { " i " + x2;
z1r = -b / (2 * a); }
z1i = Math.sqrt(-d) / (2 * a); else {
z2r = z1r; x = -b / (2 * a);
z2i = -z1i; poruka = "Jednaina ima dvostruki koren " + x;
poruka = "Kompleksni koreni su " + }
z1r + " " + (z1i>0?'+':'-') + }
" j x " + Math.abs(z1i) + ", " + System.out.println(poruka);
z2r + " " + (z2i>0?'+':'-') + }
" j x " + Math.abs(z2i); }
}
else if (d > 0) { Kompleksni koreni su -1.0 + j x 1.414213562373095,
x1 = (-b + Math.sqrt(d)) / (2 * a); -1.0 - j x 1.4142135623730951
x2 = (-b - Math.sqrt(d)) / (2 * a);
3 4
Vozila Vozilo.java - apstraktna klasa
public abstract class Vozilo {
Napraviti paket klasa sa sledeim opisom. Vozilo ima
protected double sopstvenaTezina;
sopstvenu teinu. PutnickoVozilo je vozilo u kome se public Vozilo() {}
nalaze putnici date prosene tene. TeretnoVozilo je public Vozilo(double tezina) {
vozilo koje nosi teret date teine. Projektovati paket klasa za sopstvenaTezina = tezina;
unificiranu obradu vozila. Predvideti inicijalizaciju zadatim }
vrednostima parametara, izraunavanje ukupne teine vozila, public double ukupnaTezina() { return sopstvenaTezina; }
itanje preko glavnog ulaza i konverziju u string. Na
raspolaganju je klasa Citaj za metodima za itanje svih public void citaj () {
standardnih tipova podataka. System.out.print ("Sopstvena tezina? ");
Napisati klasu sa glavnim programom koji preko glavnog double t = Citaj.Double () ;
ulaza uita podatke o odreenom broju vozila i posle toga na sopstvenaTezina = t ;
glavnom izlazu ispie podatke o vozilima koja mogu da prou }
preko mosta zadate nosivosti. public String toString() { return "" + sopstvenaTezina; }
}

5 6

TeretnoVozilo.java TeretnoVozilo.java
public class TeretnoVozilo extends Vozilo { public void citaj() {
super.citaj ();
private double tezinaTereta;
System.out.print ("Tezina tereta? ");
public TeretnoVozilo() {} double t = Citaj.Double () ;
public TeretnoVozilo (double tezina, double teret) { tezinaTereta = t;
super(tezina); }
tezinaTereta = teret; public String toString () {
} return "Teretno vozilo (" + sopstvenaTezina + '+' +
public double ukupnaTezina () { tezinaTereta + '=' + ukupnaTezina() + ')';
return super.ukupnaTezina () + tezinaTereta; }
} }

7 8
PutnickoVozilo.java PutnickoVozilo.java
public void citaj() {
public class PutnickoVozilo extends Vozilo {
super.citaj ();
private int brojPutnika;
System.out.print("Broj putnika? ");
private double srednjaTezina;
int brPut = Citaj.Int ();
public PutnickoVozilo() {}
brojPutnika = brPut;
public PutnickoVozilo (double tezina, int brPut,
System.out.print ("Srednja tezina putnika? ");
double srTez) {
double t = Citaj.Double () ;
super(tezina);
srednjaTezina = t;
brojPutnika = brPut; srednjaTezina = srTez;
}
}
public double ukupnaTezina () { public String toString () {
return super.ukupnaTezina () + return "Putniko vozilo (" + sopstvenaTezina + '+' +
brojPutnika * srednjaTezina; brojPutnika + '*' + srednjaTezina + '=' +
} ukupnaTezina () + ')';
}
}

9 10

VozilaMain.java VozilaMain.java
public class VozilaMain {
System.out.print ("\nNosivost mosta? ");
public static void main(String[] args) {
double nosivost = Citaj.Double ();
Vozilo[] vozila = new Vozilo [100];
System.out.print ("\nMogu da predju most:\n");
Vozilo vozilo = null;
for(int i=0; i<brojVozila; i++) {
int brojVozila = 0;
if(vozila[i].ukupnaTezina () <= nosivost)
while(true) {
System.out.println(" " + vozila[i]);
System.out.print ("Vrsta vozila (P, T)? "); }
switch (Citaj.Char()) { }
case 'p': }
case 'P': vozilo = new PutnickoVozilo(); break;
case 't':
case 'T': vozilo = new TeretnoVozilo (); break;
default : vozilo = null; break;
}
if(vozilo == null) break;
vozilo.citaj ();
vozila[brojVozila++] = vozilo;
} 11 12
Rezultat izvravanja programa Vozila
Vrsta vozila (P, T)? p
Sopstvena tezina? 1000 Napraviti paket klasa sa sledeim opisom. Vozilo ima
Broj putnika? 4 sopstvenu teinu. PutnickoVozilo je vozilo u kome se
Srednja tezina putnika? 70 nalaze putnici date prosene tene. TeretnoVozilo je
Vrsta vozila (P, T)? T
vozilo koje nosi teret date teine. Projektovati paket klasa za
Sopstvena tezina? 5000
Tezina tereta? 2000
unificiranu obradu vozila. Predvideti inicijalizaciju zadatim
Vrsta vozila (P, T)? T vrednostima parametara, izraunavanje ukupne teine vozila,
Sopstvena tezina? 1500 itanje preko glavnog ulaza i konverziju u string. Na
Tezina tereta? 0 raspolaganju je klasa Citaj za metodima za itanje svih
Vrsta vozila (P, T)? P standardnih tipova podataka.
Sopstvena tezina? 1600
Broj putnika? 5
Pokuaj pravljenja vozila sa pogrenim podacima reavati
Srednja tezina putnika? 85 izuzecima.
Vrsta vozila (P, T)? x Napisati klasu sa glavnim programom koji preko glavnog
Nosivost mosta? 1800 ulaza uita podatke o odreenom broju vozila i posle toga na
glavnom izlazu ispie podatke o vozilima koja mogu da prou
Mogu da predju most:
preko mosta zadate nosivosti.
Putni?ko vozilo (1000.0+4*70.0=1280.0)
Teretno vozilo (1500.0+0.0=1500.0) 13 14

ENemoguceVozilo.java Vozilo.java - apstraktna klasa


izuzetak, ako se zadaju pogreni parametri vozila package Vozila;
import Utilities.Citaj;
public abstract class Vozilo {
package Vozila; protected double sopstvenaTezina;
public Vozilo() {}
public class ENemoguceVozilo extends Exception { public Vozilo(double tezina) throws ENemoguceVozilo {
public ENemoguceVozilo() {} if(tezina <= 0) throw new ENemoguceVozilo();
sopstvenaTezina = tezina;
}
}
public double ukupnaTezina() { return sopstvenaTezina; }

public void citaj () throws ENemoguceVozilo {


System.out.print ("Sopstvena tezina? ");
double t = Citaj.Double () ;
if(t <= 0) throw new ENemoguceVozilo();
sopstvenaTezina = t ;
}
public String toString() { return "" + sopstvenaTezina; }
}
15 16
TeretnoVozilo.java TeretnoVozilo.java
package Vozila; public void citaj() throws ENemoguceVozilo {
import Utilities.Citaj; super.citaj ();
System.out.print ("Tezina tereta? ");
public class TeretnoVozilo extends Vozilo {
double t = Citaj.Double () ;
private double tezinaTereta; if(t < 0)
public TeretnoVozilo() {} throw new ENemoguceVozilo();
tezinaTereta = t;
public TeretnoVozilo (double tezina, double teret) }
throws ENemoguceVozilo {
super(tezina); public String toString () {
if(teret < 0) throw new ENemoguceVozilo(); return "Teretno vozilo (" + sopstvenaTezina + '+' +
tezinaTereta = teret; tezinaTereta + '=' + ukupnaTezina() + ')';
} }
}
public double ukupnaTezina () {
return super.ukupnaTezina () + tezinaTereta;
}
17 18

PutnickoVozilo.java PutnickoVozilo.java
public void citaj() throws ENemoguceVozilo {
package Vozila;
super.citaj ();
import Utilities.Citaj;
System.out.print("Broj putnika? ");
public class PutnickoVozilo extends Vozilo {
int brPut = Citaj.Int ();
private int brojPutnika;
if(brPut > 5 || brPut<1) throw new ENemoguceVozilo();
private double srednjaTezina;
brojPutnika = brPut;
public PutnickoVozilo() {}
System.out.print ("Srednja tezina putnika? ");
public PutnickoVozilo (double tezina, int brPut,
double t = Citaj.Double () ;
double srTez) throws ENemoguceVozilo {
if(t < 0) throw new ENemoguceVozilo();
super(tezina);
srednjaTezina = t;
if(brPut>5 || brPut<1 || srTez<0)
}
throw new ENemoguceVozilo();
brojPutnika = brPut; srednjaTezina = srTez; public String toString () {
} return "Putniko vozilo (" + sopstvenaTezina + '+' +
public double ukupnaTezina () { brojPutnika + '*' + srednjaTezina + '=' +
return super.ukupnaTezina () + ukupnaTezina () + ')';
brojPutnika * srednjaTezina; }
} 19 } 20
VozilaMain.java VozilaMain.java
package Primeri;
try {
import Utilities.Citaj;
vozilo.citaj ();
import Vozila.*;
vozila[brojVozila++] = vozilo;
public class VozilaMain { }
public static void main(String[] args) { catch(ENemoguceVozilo e) {
Vozilo[] vozila = new Vozilo [100]; System.out.println(
Vozilo vozilo = null; "Pogreni podaci, vozilo nije napravljeno.");
int brojVozila = 0; }
}
while(true) {
System.out.print ("\nNosivost mosta? ");
System.out.print ("Vrsta vozila (P, T)? ");
double nosivost = Citaj.Double ();
switch (Citaj.Char()) {
System.out.print ("\nMogu da predju most:\n");
case 'p':
for(int i=0; i<brojVozila; i++) {
case 'P': vozilo = new PutnickoVozilo(); break;
if(vozila[i].ukupnaTezina () <= nosivost)
case 't':
System.out.println(" " + vozila[i]);
case 'T': vozilo = new TeretnoVozilo (); break; }
default : vozilo = null; break; }
} }
21 22
if(vozilo == null) break;

Rezultat izvravanja programa


Vrsta vozila (P, T)? p
Sopstvena tezina? 1000
Broj putnika? 4
Srednja tezina putnika? 70
Vrsta vozila (P, T)? T
Sopstvena tezina? 5000
Tezina tereta? 2000
Vrsta vozila (P, T)? T
Sopstvena tezina? 1500
Tezina tereta? 0
Vrsta vozila (P, T)? P
Sopstvena tezina? 1600
Broj putnika? 5
Srednja tezina putnika? 85
Vrsta vozila (P, T)? x

Nosivost mosta? 1800

Mogu da predju most:


Putni?ko vozilo (1000.0+4*70.0=1280.0)
Teretno vozilo (1500.0+0.0=1500.0) 23

You might also like