Colocviu POO 2015-2016: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
Fără descriere a modificării
Fără descriere a modificării
Linia 1: Linia 1:
Să se scrie o clasa <code>seriaf.poo.colcoviu.Replacer</code> care să elimine dintr-un text dat toate cuvintele dintr-o listă dată. Să se scrie o clasa <code>seriaf.poo.colcoviu.Main</code> care să primească un nume de fișier și un String ce contine cuvinte separate prin spații. Folosindu-vă de clasa <code>seriaf.poo.colcoviu.Replacer</code>, șteregeți in fișierul specificat toate cuvintele date.
Să se scrie o clasă <code>seriaf.poo.colocviu.Point3D</code> care să stocheze coordonatele unui punct în spațiul tri-dimensional în virgulă mobilă cu dublă precizie.


Reguli suplimentare:
Reguli suplimentare:
* Clasa <code>Replacer</code> trebuie să aibă un constructor cu un argument de tip <code>List<String></code> care reprezintă lista de cuvinte ce trebuie șterse.
# Clasa <code>Point3D</code> trebuie să aibă un constructor cu 3 argumente de tip double: x, y și z
* Clasa <code>Replacer</code> trebuie să aibă o metodă <code>String removeAll(String)</code> care să întoarcă un String obținut prin ștergerea cuvintelor date constructorului din String-ul primit ca argument.
# Clasa <code>Point3D</code> trebuie să aibă o metodă <code>double getEuclidianDistance(Point3D anotherPoint)</code> care să calculeze distanța euclidiană între punctul curent și punctul primit ca argument.
* Clasa <code>Replacer</code> trebuie să aibă o metodă <code>List<String> getListWords(String)</code>, apelabilă doar cu numele clasei, care va întoarce o listă de cuvinte obținută prin spargerea textului primit ca argument în cuvinte, după caracterele spațiu.
# Clasa <code>Point3D</code> trebuie să aibă o metodă <code>double getManhattanDistance(Point3D anotherPoint)</code> care să calculeze distanța Manhattan între punctul curent și punctul primit ca argument.
* Clasa <code>Main</code> trebuie să fie executabilă.
 
* Metoda <code>main</code> din <code>Main</code> va fi apelată cu două argumente din linia de comandă:
Să se scrie o clasă <code>seriaf.poo.colocviu.Triangle</code> care să stocheze date referitoare la un triunghi.
** un nume de fișier, care trebuie existe;
 
** o lista de cuvinte, separate prin spațiu și delimitate de ghilimele:
Reguli suplimentare:
java -jar <your.jar> fisier.txt "cuvant altcuvant celalaltecuvinte"
# Clasa <code>Triangle</code> trebuie să aibă un constructor cu 3 argumente de tip  <code>Point3D </code> ce reprezintă vârfurile triunghiului. Dacă oricare două puncte se suprapun, sau dacă punctele sunt colineare, se va arunca o excepție de tip <code>IllegalArgumentException</code> cu mesajul “Punctele nu formeaza un triunghi”.
* Programul va citi textul din fișier, se va folosi de un obiect de tip <code>Replacer</code> pentru a șterge cuvintele din text și va scrie textul nou înapoi în fișier.
# Clasa <code>Triangle</code> trebuie să aibă trei metode: <code>boolean isEquilateral()</code>, <code>boolean isIsosceles()</code> și <code>boolean isRightAngled()</code> care să întoarcă <code>true</code> 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ă <code>seriaf.poo.colocviu.Main</code>, executabilă, care folosindu-se de un obiect de tip <code>java.util.Scanner</code> 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 <code>java.lang.Math</code>.

Versiunea de la data 14 ianuarie 2016 14:04

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:

  1. Clasa Point3D trebuie să aibă un constructor cu 3 argumente de tip double: x, y și z
  2. 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.
  3. 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:

  1. Clasa Triangle trebuie să aibă un constructor cu 3 argumente de tip Point3D ce reprezintă vârfurile triunghiului. Dacă oricare două puncte se suprapun, sau dacă punctele sunt colineare, se va arunca o excepție de tip IllegalArgumentException cu mesajul “Punctele nu formeaza un triunghi”.
  2. Clasa Triangle trebuie să aibă trei metode: boolean isEquilateral(), boolean isIsosceles() și boolean 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.