Olá estou com uma dúvida em fazer uma Classe NumeroComplexo onde ele tem alguns métodos como imprimir número, verificar se 2 números são igual, soma e subtração…
estou com dúvida em fazer o método da soma e subtração…
meu código está assim
[code]public class NumeroComplexo {
int a = 0, b=0;
public NumeroComplexo(int a, int b){
this.a =a;
this.b=b;
}
public void imprimeNumero (){
System.out.println (a+" + "+b+“i”);
}
public boolean ehIgual (NumeroComplexo Nc2){
if(a == Nc2.a && b==Nc2.b ){
return true;
}else{
return false;
}
}
public int soma (NumeroComplexo Nc2){
NumeroComplexo t = new (a+Nc2.a, b+Nc2.b);
return t;
}
[/code]
A classe main está assim
package Exercicio04_prova;
public class Exercicio_04 {
public static void main (String[]args){
NumeroComplexo n1 = new NumeroComplexo(1 , 2);
NumeroComplexo n2 = new NumeroComplexo (3,4);
n2.imprimeNumero();
n1.soma(n2);
}
}
Qual a sua dúvida em relação à soma e à subtração?
A soma de dois complexos compreende criar um terceiro complexo em que sua parte real é a soma das partes reais dos dois operandos e a parte imginária é a soma da parte imaginária dos dois operandos. Parece que é isso q vc está fazendo. O único problema, pelo menos na soma, é que você deve retornar um NumeroComplexo e não um int, afinal, o que é retornada é a referência de “t” (que é um NumberoComplexo) Não seria melhor vc chamar sua parte real de “r” e sua parte imaginária de “i” ao invés de “a” e “b”?
O meu problema é esse…
eu ainda estou aprende a programa orientado a objeto…
e está dando erro pra compilar… e sinceramente não tenho a minima idéia de aonde está o corre…
no proprimo jdeveloper está acusando erro essa seguinte parte do código:
NumeroComplexo t = new (a+Nc2.a, b+Nc2.b);
return t;
[quote=NaCama][quote]
24/02/2013 18:01:28 Assunto: Re:Duvida com Programação Orientada a Objeto
Olá.
Você deveria usar
NumeroComplexo t = new NumeroComplexo(a+Nc2.a, b+Nc2.b)
Faltou colocar o nome do construtor aí.
E como o davidbuzatto disse, no método soma, você deve retornar NumeroComplexo e não int.
Falou.[/quote]
Eu fiz como você disse e ficou assim
public int soma (NumeroComplexo Nc2){
NumeroComplexo t = new NumeroComplexo (a+Nc2.a, b+Nc2.b);
return NumeroComplexo;
}
está dando o seguinte erro
cannot find variable NumeroComplexo
desculpa mas ainda sou iniciante e estou pegando o jeito …
[/quote]
Você não está entendendo o que lhe estão dizendo. Seu problema não é programar é comunicar na linguagem tecnica
public NumeroComplexo soma (NumeroComplexo Nc2){
NumeroComplexo t = new NumeroComplexo (a+Nc2.a, b+Nc2.b);
return t;
}
Compare este código acima com o seu. E tente entender o que estava errado.
Os erros que o compilador do java aponta são muito claros. Quando vc diz que ele “não diz o que está errado” é mentira. Vc que não sabe entender o que o compilador lhe está dizendo.
Então, aprenda a ler os erros e a entender o que eles significam. Vai ajudar muito no futuro. ( inclusive vc deve colocar o erro aqui no forum para nós ajudarmos)
Também tente entender o que lhe dizem. Todo o mundo lhe disse “retorne um numero completo” isto significa que o return retorna um objeto de numero complexo, mas também que o método tem que ser declarado como retornando a mesma coisa.