Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Você está aqui: Java ::: Dicas & Truques ::: Números Complexos (Complex Numbers)

Como somar dois números complexos usando Java - A classe NumeroComplexo

Quantidade de visualizações: 1443 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:

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:

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:

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

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 38 usuários muito felizes estudando em nosso site.