Você está na página 1de 4

/*

* EVanPrvogKvadranta.java
*
* Created on January 22, 2005, 12:24 PM
*/

package Figure;

public class EVanPrvogKvadranta extends Exception {

public EVanPrvogKvadranta() {
}
}

/*
* Tacka.java
*
* Created on January 22, 2005, 12:11 PM
*/

package Figure;
import Citaj;

public class Tacka {


double x, y;
public Tacka() {
x = y = 0;
}
public Tacka(double _x, double _y) {
x = _x;
y = _y;
}

public Tacka(Tacka t) {
x = t.x;
y = t.y;
}

public boolean unutarPrvogKvadranta() {


if(x<0 || y<0)
return false;
return true;
}

public String toString() {


return "(" + x + ", " + y + ")";
}

public double rastojanje(Tacka t) {


return Math.sqrt((x - t.x)*(x - t.x) + (y - t.y)*(y - t.y));
}

public void citaj() {


System.out.print("Koordinata x: ");
x = Citaj.Double();
System.out.print("Koordinata y: ");
y = Citaj.Double();
}
}

/*
* Figura.java
*
* Created on January 22, 2005, 12:18 PM
*/

package Figure;

public abstract class Figura {


protected String ime;
public Figura() {
}

public Figura(String _ime) {


ime = _ime;
}

public abstract void citaj();


public abstract double velicina();

public String toString() {


return ime + ": ";
}
}

/*
* Krug.java
*
* Created on January 22, 2005, 12:26 PM
*/

package Figure;
import Citaj;

public class Krug extends Figura {


private Tacka centar;
private double r;

public Krug() {
centar = new Tacka(1, 1);
r = 1;
ime = "Krug";
}

public Krug(Tacka _centar, double _r, String _ime) throws EVanPrvogKvadranta {


super(_ime);
if((_centar.x - _r<0) || (_centar.y - _r < 0))
throw new EVanPrvogKvadranta();
centar = new Tacka(_centar);
r = _r;
}

public double velicina() {


return 2 * r;
}
public String toString() {
return super.toString() + "C(" + centar.x + ", " + centar.y + "), R(" + r +
")";
}

public void citaj() throws EVanPrvogKvadranta {


System.out.println("Unesite centar kruga");
centar.citaj();
System.out.println("Poluprecnik kruga");
double d = Citaj.Double();
if(centar.x-d<0 || centar.y-d<0)
throw new EVanPrvogKvadranta();
r = d;
}
}

package Figure;
import Citaj;

public class Trougao extends Figura {


Tacka a, b, c;
public Trougao() {
a = new Tacka(0, 0);
b = new Tacka(0, 1);
c = new Tacka(1, 0);
ime = "Trougao";
}

public Trougao(Tacka _a, Tacka _b, Tacka _c, String _ime) throws
EVanPrvogKvadranta {
super(_ime);
if(!_a.unutarPrvogKvadranta() || !_b.unutarPrvogKvadranta() ||
!_c.unutarPrvogKvadranta())
throw new EVanPrvogKvadranta();
a = new Tacka(_a);
b = new Tacka(_b);
c = new Tacka(_c);
}

public double velicina() {


double d1 = a.rastojanje(b);
double d2 = a.rastojanje(c);
double d3 = b.rastojanje(c);
if(d1 < d2) d1 = d2;
if(d1 < d3) d1 = d3;
return d1;
}

public void citaj() {


System.out.println("Unesite prvo teme trougla");
a.citaj();
System.out.println("Unesite drugo teme trougla");
b.citaj();
System.out.println("Unesite trece teme trougla");
c.citaj();
if(!a.unutarPrvogKvadranta() || !b.unutarPrvogKvadranta() ||
!c.unutarPrvogKvadranta())
throw new EVanPrvogKvadranta();
}

public String toString() {


return super.toString() + "T1" + a.toString() + ", T2" + b.toString() +
", T3" + c.toString();
}
}

/*
* FigureMain.java
*
* Created on January 22, 2005, 1:34 PM
*/

package Figure;
import Citaj;

public class FigureMain {


public static void main(String[] args) {
Figura[] figure = new Figura[100];
Figura figura = null;
int brojFigura = 0;
while(true) {
System.out.print("Vrsta figure, (K, T), bilo koji znak za prekid");
char c = Citaj.char();
switch(c) {
case 'K':
case 'k': figura = new Krug(); break;
case 'T':
case 't': figura = new Trougao(); break;
default: figura = null;
}
if(figura == null) break;
try {
figura.citaj();
figure[brojFigura] = figura;
brojFigura++;
}
catch(EVanPrvogKvadranta e) {
System.out.println("Figura nije u prvom kvadrantu");
}
catch(Exception e) {
System.out.println("Nepoznata gre�ka");
}
}

System.out.print("Maksimalna velicina figure? ");


double maximalnaVelicina = Citaj.Double();
for(int i=0; i<brojFigura; i++) {
if(figure[i].velicina() < maximalnaVelicina)
System.out.println(" " + figure[i]);
}
}

Você também pode gostar