// Clase que realiza operaciones con numeros complejos

public class Complejo {
	private float r;		// Parte real
	private float i;		// Parte imaginaria
	
	// Constructores
	public Complejo() {		// Constructor por default
		r = i = 0.0f;
	}
	
	public Complejo(Complejo a) {
		r = a.r;
		i = a.i;
	}
	
	public Complejo(float x, float y) {
		r = x;
		i = y;
	}
	
	// Metodos
	// getters y setters
	public float getR() {
		return r;
	}
	public void setR(float r) {
		this.r = r;
	}
	public float getI() {
		return i;
	}
	public void setI(float i) {
		this.i = i;
	}
	
	
	// Formas de presentar los resultados
/*	@Override
	public String toString() {
		return "("+r+","+i+")";
	}
*/
	@Override
	public String toString() {
		if (i>=0)
		   return r+"+"+i+"i";
		return r+"-"+(-i)+"i";
	}

	// La suma de complejos sobrecargada
	public void suma(Complejo a, Complejo b) {
		r = a.r+b.r;
		i = a.i+b.i;
	}
	
	public Complejo suma(Complejo a) {
		Complejo b = new Complejo();
		
		b.r = r+a.r;
		b.i = i+a.i;
		
		return b;
	}
}
