Colocviu POO 2015-2016
De la WikiLabs
Versiunea din 14 ianuarie 2016 14:04, autor: Rhobincu (discuție | contribuții)
Să se scrie o clasă seriaf.poo.colocviu.Point3D
care să stocheze coordonatele unui punct în spațiul tri-dimensional în virgulă mobilă cu dublă precizie.
Reguli suplimentare:
- Clasa
Point3D
trebuie să aibă un constructor cu 3 argumente de tip double: x, y și z - Clasa
Point3D
trebuie să aibă o metodădouble getEuclidianDistance(Point3D anotherPoint)
care să calculeze distanța euclidiană între punctul curent și punctul primit ca argument. - Clasa
Point3D
trebuie să aibă o metodădouble getManhattanDistance(Point3D anotherPoint)
care să calculeze distanța Manhattan între punctul curent și punctul primit ca argument.
Să se scrie o clasă seriaf.poo.colocviu.Triangle
care să stocheze date referitoare la un triunghi.
Reguli suplimentare:
- Clasa
Triangle
trebuie să aibă un constructor cu 3 argumente de tipPoint3D
ce reprezintă vârfurile triunghiului. Dacă oricare două puncte se suprapun, sau dacă punctele sunt colineare, se va arunca o excepție de tipIllegalArgumentException
cu mesajul “Punctele nu formeaza un triunghi”. - Clasa
Triangle
trebuie să aibă trei metode:boolean isEquilateral()
,boolean isIsosceles()
șiboolean isRightAngled()
care să întoarcătrue
dacă triunghiul este echilateral, isoscel sau respectiv dreptunghic.
ATENȚIE: Două numere de tip double se consideră egale dacă diferența dintre ele, în modul, este mai mică decât 0.0001.
Să se scrie o clasă seriaf.poo.colocviu.Main
, executabilă, care folosindu-se de un obiect de tip java.util.Scanner
să citească 9 valori de tip double dintr-un fișier specificat ca prim argument la execuție, și folosindu-se de clasele de mai sus să afișeze:
- "Triunghiul este echilateral. " dacă este echilateral
- "Triunghiul este isoscel. " dacă este isoscel
- "Triunghiul este dreptunghic.\n" dacă este dreptunghic
Vezi clasa java.lang.Math
.