![]() |
|
||||
![]() 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 NumeroComplexoQuantidade 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 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Java - Como retornar a quantidade de mapeamentos (chave-valor) em um HashMap do Java usando o método size() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |