| Você está aqui: Java ::: Dicas & Truques ::: Números Complexos (Complex Numbers) | 
| Como somar dois números complexos usando Java - A classe NumeroComplexoQuantidade de visualizações: 1482 vezes | 
| Nesta dica mostrarei como tirar proveito da programação orientada a objetos em Java para criar uma classe NumeroComplexo e efetuar a soma de dois números complexos. Um número complexo na forma retangular (ou forma algébrica) apresenta o seguinte formato: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 7 + j5 ou 7 + 5j onde 7 é a parte real e 5 é a parte imaginária. Note que usei a notação "j" em vez de "i" para a parte imaginária, uma vez que a notação "j" é a mais comum na engenharia. O primeiro passo é criar a classe NumeroComplexo, que servirá para representarmos a parte real e a parte imaginária. Veja o código: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
public class NumeroComplexo {
  private double real; // parte real
  private double imaginaria; // parte imaginária
  // construtor padrão
  public NumeroComplexo() {
  }
  // construtor adicional da classe NumeroComplexo
  public NumeroComplexo(double real, double imaginaria) {
    this.real = real;
    this.imaginaria = imaginaria;
  }
  // método estático que recebe dois números complexo
  // e retorna sua soma, também como um número complexo
  public static NumeroComplexo somar(NumeroComplexo a, NumeroComplexo b){
    // variável temporária
    NumeroComplexo temp = new NumeroComplexo();
 
    // primeira somamos as partes reais dos dois
    // números complexos
    temp.setReal(a.getReal() + b.getReal());
    
    // em seguida somamos as partes imaginárias dos dois
    // números complexos
    temp.setImaginaria(a.getImaginaria() + b.getImaginaria());
    
    // finalmente retornamos o novo número complexo
    return temp;
  }
  
  // mostra a representação textual do número complexo
  @Override
  public String toString(){
    if(this.imaginaria < 0){
      return this.real + " - j" + Math.abs(this.imaginaria);
    }
    else{
      return this.real + " + j" + this.imaginaria;
    }
  }
  
  public double getReal() {
    return real;
  }
  public void setReal(double real) {
    this.real = real;
  }
  public double getImaginaria() {
    return imaginaria;
  }
  public void setImaginaria(double imaginaria) {
    this.imaginaria = imaginaria;
  }  
}
Note que esta classe Java possui boa parte dos conhecimentos comuns da programação orientada a objetos: construtores, método estático, encapsulamento de dados e sobrecarga do método toString() para exibir a representação textual do número complexo. Veja agora o código da classe principal, na qual pedimos para o usuário informar dois números complexos e efetuamos a sua soma: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
import java.util.Scanner;
public class Estudos{
  public static void main(String[] args){
    // vamos usar a classe Scanner para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler a parte real e a parte imaginária do primeiro
    // número complexo
    System.out.print("Parte real do primeiro número: ");
    double realPrimeiro = Double.parseDouble(entrada.nextLine());
    System.out.print("Parte imaginária do primeiro número: ");
    double imagPrimeiro = Double.parseDouble(entrada.nextLine());
    
    // vamos ler a parte real e a parte imaginária do segundo
    // número complexo
    System.out.print("Parte real do segundo número complexo: ");
    double realSegundo = Double.parseDouble(entrada.nextLine());
    System.out.print("Parte real do segundo número complexo: ");
    double imagSegundo = Double.parseDouble(entrada.nextLine());
    
    // agora criamos os dois números complexos
    NumeroComplexo a = new NumeroComplexo(realPrimeiro, imagPrimeiro);
    NumeroComplexo b = new NumeroComplexo(realSegundo, imagSegundo);
    
    // obtemos a soma dos números complexos
    NumeroComplexo soma = NumeroComplexo.somar(a, b);
    
    // para finalizar mostramos os resultados
    System.out.println("Primeiro número complexo: " + a.toString());
    System.out.println("Segundo número complexo: " + b.toString());
    System.out.println("Soma: " + soma.toString());
    
    System.exit(0);
  }
}
Ao executar este código Java nós teremos o seguinte resultado: Parte real do primeiro número: 8 Parte imaginária do primeiro número: -3 Parte real do segundo número complexo: 5 Parte real do segundo número complexo: 9 Primeiro número complexo: 8.0 - j3.0 Segundo número complexo: 5.0 + j9.0 Soma: 13.0 + j6.0 | 
|  Link para compartilhar na Internet ou com seus amigos: | 
| Desafios, Exercícios e Algoritmos Resolvidos de Java | 
| Veja mais Dicas e truques de Java | 
| Dicas e truques de outras linguagens | 
| E-Books em PDF | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 




