Dúvida em criar classe Complexo utilizando uma classe Fracao (Minha solução está correta?)

9 respostas
ThammyOscarino

Oii…

estou fazendo o meu trabalho de Java… fiz uma classe Fracao, que faz as operaçoes com objetos do tipo fraçao.
A outra parte é que eu devo fazer uma classe Complexo, que faz as operaçoes de numeros complexos, só que estes numeros sao em fracao.

Ex: 3/5 + 4/2i

So que nao estou sabendo como eu uso a classe Fracao para manipular os numeros.

Vou colocar o titulo do trabalho so pra vcs entenderem… qro uma luz pra saber como eu faço essa “ligaçao”… creio que naum seja usando herança…

Parte 2:
Implemente uma classe para representar números complexos, em que a parte real e a parte imaginária devem ser representadas por frações para evitar erros de arredondamento com valores reais. A sua classe deve necessariamente se chamar Complexo, de modo que seja possível criar objetos do tipo Complexo. Declare os atributos necessários em sua classe, disponibilize um construtor e disponibilize os seguintes métodos públicos (EXATAMENTE com os nomes definidos abaixo):

somar(): soma dois números complexos (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e retorna um terceiro número complexo que é o resultado.
subtrair(): subtrai dois números complexos (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e retorna um terceiro número complexo que é o resultado.
multiplicar(): multiplica dois números complexos (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e retorna um terceiro número complexo que é o resultado.
dividir(): divide dois números complexos (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e retorna um terceiro número complexo que é o resultado.
toString(): retorna uma String contendo a representação do objeto Complexo:
valor_real (+ ou -) valor_imaginário i.

-> Exemplo de código que usa a classe Complexo que será criada por você (será usado para corrigir o trabalho):

Fracao freal1 = new Fracao(3, 4);

Fracao freal2 = new Fracao(3, 5);

Fracao freal3 = new Fracao(2, 4);

Fracao freal4 = new Fracao(7, 4);

Complexo c1 = new Complexo(freal1, freal2);
Complexo c2 = new Complexo(freal3, freal4);

Complexo c3 = c1.somar(c2);

System.out.println("c3 = " + c3);

Complexo c4 = c1.subtrair(c2);

Complexo c6 = c1.multiplicar(c2);

System.out.println("c6 = " + c6.toString());

Complexo c7 = c1.dividir(c2);

9 Respostas

G

.

davidbuzatto

Oi Thamiris,
O que você não conseguiu fazer?
Se sua classe Fracao já está pronta e funcionando, utilize-a então para compor a classe Complexo.

ViniGodoy

Oi,

Quando postar tópicos, por favor, use títulos mais sugestivos. Isso vai auxilia as pessoas que conhecem do assunto a entrar no seu tópico, e ajudar a respondê-lo. Por exemplo, um título como “Dúvida para criar classe de números complexos” seria muito mais útil.

ThammyOscarino

davidbuzatto:
Oi Thamiris,
O que você não conseguiu fazer?
Se sua classe Fracao já está pronta e funcionando, utilize-a então para compor a classe Complexo.

Eu nao estou sabendo fazer essa composiçao…
sem utiliza a classe fraçao eu consigo fazer, nao estou sabendo eh usar a classe Fracao na classe Complexo.

davidbuzatto

Reitero as sugestões do Vinícius.
Quanto à dúvida:

Você vai ter dois arquivos: Fracao.java e Complexo.java

Fracao.java (você já implementou de alguma forma, segue minha sugestão):
public class Fracao {

    private double numerador;
    private double denominador;

    public Fracao( double numerador, double denominador ) {
        setNumerador( numerador );
        setDenominador( denominador );
    }

    public double getNumerador() {
        return numerador;
    }
    
    public void setNumerador( double numerador ) {
        this.numerador = numerador;
    }

    public double getDenominador() {
        return denominador;
    }

    public void setDenominador( double denominador ) {
        // aqui você poderia tratar o caso do denominador ser igual a 0
        this.denominador = denominador;
    }

    // métodos os as operações
    public Fracao soma( Fracao outraFracao ) {
        // cálculo da soma... tem que achar o mmc, etc...
    }

    // outros métodos aqui....

}
Complexo.java
public class Complexo {

    private Fracao real;
    private Fracao imaginario;

    public Complexo( Fracao real, Fracao imaginario ) {
        this.real = real;
    }

    public Fracao getReal() {
        return real;
    }

    public void setReal( Fracao real ) {
        this.real = real;
    }

    public Fracao getImaginario() {
        return imaginario;
    }

    public void setImaginario( Fracao imaginario ) {
        this.imaginario = imaginario;
    }

    // aqui os métodos com as operações
   
}

[]´s

ThammyOscarino

davidbuzatto… eu tinha criado 4 atributos…

private int numeradorReal;
    private int denominadorReal;
    private int numeradorImaginario;
    private int denominadorImaginario;

entao nao eh necessario?

eu vou utilizar as operaçoes de Fracao? como eu faço pra chamar os metodos da classe Fracao na calsse Complexo?
Essa é minha maior duvida, mas a ajuda de vcs jah tah valendo… ^^

:lol:

E

Dona Thamiris, por acaso você está sabendo as fórmulas que você tem de usar? Acho que, no seu caso em particular, são as fórmulas que estão lhe causando mais problemas. Se não souber matemática direito, tem algum colega seu que lhe ajude com as fórmulas?

ThammyOscarino

As formulas eu sei…

so nao to sabendo fazer a composiçao…

alguem pode me dar um metodo exemplo de como farei isso?

//Classe Fracao
//Metodo somar

public Fracao somar(Fracao f){
		int denResult = denominador * f.denominador;
		int numResult = (denResult / denominador * numerador) + (denResult / f.denominador * f.numerador);
		
		Fracao fr = new Fracao(numResult, denResult);
		fr.simplificar();
		return fr;
	}

Fiz o metodo somar para a classe Complexo… está correto?

//Classe Complexo

public Complexo somar(Complexo c){
		Fracao realResult = real.somar(c.real);
		Fracao imagResult = imaginario.somar(c.imaginario);
		
		Complexo com = new Complexo(realResult, imagResult);
		return com;
		
	}
Renato_Ceadareanu

Olá Thammy,

Quando você diz composiçao, está se referindo a instância da classe Fração na classe Complexo?

Até!

Criado 26 de setembro de 2010
Ultima resposta 27 de set. de 2010
Respostas 9
Participantes 6