Está en la página 1de 3

Problema 3:

Consideraciones:

 En este ejercicio decidí emplear POO ya que según la situación se podría implementar
nuevos métodos para trabajar con los números complejos
 Agrego métodos extras relacionados con el inverso del modulo

Clase Complejos
import java.util.*;
public class Complejos {
private double real;
private double complejo;

public Complejos(Complejos a) {
real= a.getReal();
complejo= a.getComplejo();
}
public Complejos(double real, double complejo) {
this.real=real;
this.complejo=complejo;
}
public Complejos() {
}
public double getReal() {
return real;
}
public void setReal(double real) {
this.real = real;
}
public double getComplejo() {
return complejo;
}
public void setComplejo(double complejo) {
this.complejo = complejo;
}
public String toString() {
if(complejo<0) {
return real+" - "+(-1*complejo)+"i";
}
else {
return real+" + "+complejo+"i";
}
}
}
Clase Inverso
import java.text.DecimalFormat;

import java.util.*;

import javax.swing.*;

public class Inverso {

public static void main(String[] args) {

Scanner entrada= new Scanner(System.in);

double real=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la parte real:


"));

double imaginario= Integer.parseInt(JOptionPane.showInputDialog("Ingrese la


parte imaginaria: "));

Complejos complejo= new Complejos(real,imaginario);

if(comprobacion(complejo)==-1) {

JOptionPane.showMessageDialog(null, "No se puede calcular el inverso");

else {

JOptionPane.showMessageDialog(null, "Numero complejo:


"+complejo.toString()+"\n"+

"El
inverso del modulo es: "+inversoModulo(complejo)+"\n"+

"In
verso del complejo: "+inversoComplejo(complejo));

public static double comprobacion(Complejos complejo) {

double modulo =modulo(complejo);

if(modulo == 0) {
return -1;

else {

return 0;

public static double modulo(Complejos complejo) {

return Math.sqrt(Math.pow(complejo.getReal(),
2)+Math.pow(complejo.getComplejo(), 2));

public static String inversoModulo(Complejos complejo) {

DecimalFormat df= new DecimalFormat("0.00");

double inverso=1/modulo(complejo);

return df.format(inverso);

public static String inversoComplejo(Complejos complejo) {

DecimalFormat df= new DecimalFormat("0.00");

double real=complejo.getReal();

double imaginario=-complejo.getComplejo();

double modulo= modulo(complejo);

System.out.println("El inverso es: ");

if(imaginario>0) {

return "("+real+" + "+imaginario+"i"+")"+" / "+df.format(modulo);

else {

return "("+real+" - "+(-1*(imaginario))+"i"+")"+" / "+df.format(modulo);

También podría gustarte