//TODO Declarar implementación de interfaces (al menos Comparable)
//TODO definir campos
//TODO constructor privado
//TODO completar proptotipo y cuerpo de los métodos instanciadores
newFromCartesian(double real, double imaginary){
}
newFromPolar(double magnitude, double argument){
}
//TODO reescritura de métodos de Object que se coinsideren adecuados (al menos toString)
//TODO definir métodos de interfaces
//TODO completar proptotipo y cuerpo de los siguientes métodos
real(){
}
imaginary(){
}
magnitude(){
}
argument(){
}
conjugate(){
}
inverse(){
}
add(Complex c1, Complex c2){
}
multiply(double d){
}
multiply(Complex c1, Complex c2){
}
divide(Complex c1, Complex c2){
}
pow(Complex c, double d){
}
sqrt(Complex c){
}
// Main para chequear el funcionamiento de buena parte de los métodos.
// Deben obtenerse diez lineas con diez primos en versión cartesiana y polar más un cero o una cantidad muy próxima a cero
public static void main(String[] args) {
SortedSet<Complex> set = new TreeSet<>();
for (int i = 0; i < 10; i++) set.add(newFromCartesian(Math.random()-0.5,Math.random()-0.5));
for (Complex c1 : set) {
Complex c2 = newFromPolar(c1.magnitude(),c1.argument());
System.out.println(c1 + " --> " + c2 + " --> " + add(sqrt(multiply(c1,c1)), divide(newFromCartesian(1.0,0.0),c2.multiply(-1)).inverse()).magnitude());
}
}
--------------------------------------------------------------------------------
class Folder {
int x,y; //posición del vértice superior izquierdo del rectángulo.
int width,height; //ancho y alto del rectángulo.
String dir; //el path del directorio p.ej.: “c:/Windows/Media”.
//aquí el resto de la definición de la clase
}