public class Polinomios {
Scanner teclado= new Scanner(System.in);
Monomios polinomio[];
int elementos;
public Polinomios(){
polinomio= new Monomios[100];
this.elementos=0;
}
public void setElementos(int e){
this.elementos=e;
}
public int getElementos(){
return elementos;
}
public void AddMonomio(int indice){
try{
double coeficiente;
int eX , eY,eZ;
System.out.println("Dime el coeficiente del monomio");
coeficiente = teclado.nextDouble();
System.out.println("Dime el exponete de X del monomio");
eX = teclado.nextInt();
System.out.println("Dime el exponete de Y del monomio");
eY = teclado.nextInt();
System.out.println("Dime el exponete de Z del monomio");
eZ = teclado.nextInt();
if(ExisteMonomio(eX,eY,eZ)==true){
System.out.println("Estoy sobre-escribiendo un monomio");
int indiceBuscado=BuscadorMonomios(eX,eY,eZ);
polinomio[indiceBuscado].setCoeficiente(coeficiente+ polinomio[indiceBuscado].getCoeficiente());
}else{
System.out.println("Estoy añadiendo un monomio");
polinomio[indice]= new Monomios(coeficiente,eX,eY,eZ);
}
}catch(Exception e){
e.getMessage();
}
}
public void VerPolinomio(int indice){
try{
if(polinomio[indice].getCoeficiente()>0){
System.out.print("+"+polinomio[indice].getCoeficiente()+"x^"+polinomio[indice].getExponenteX()+"y^"+ polinomio[indice].getExponenteY() +"z^"+ polinomio[indice].getExponenteZ()+"");
}else{
System.out.print(""+polinomio[indice].getCoeficiente()+"x^"+polinomio[indice].getExponenteX()+"y^"+ polinomio[indice].getExponenteY() +"z^"+ polinomio[indice].getExponenteZ()+"");
}
}catch(Exception e){
e.getMessage();
}
}
public int gradoMonomio(int indice){
int gradoMonomio,eX,eY,eZ;
eX=polinomio[indice].getExponenteX();
eY=polinomio[indice].getExponenteY();
eZ=polinomio[indice].getExponenteZ();
gradoMonomio= eX + eY + eZ;
return gradoMonomio;
}
public boolean ExisteMonomio(int eX,int eY,int eZ){
boolean existe=false;
for(int indice=1;indice<=getElementos();indice++){
if((polinomio[indice].getExponenteX()==eX)&&(polinomio[indice].getExponenteY()==eY)&&(polinomio[indice].getExponenteZ()==eZ)){
existe=true;
}
}
return existe;
}
public int BuscadorMonomios(int eX,int eY,int eZ){
int indiceBuscado=0;
for(int indice=1;indice<=getElementos();indice++){
if((polinomio[indice].getExponenteX()==eX)&&(polinomio[indice].getExponenteY()==eY)&&(polinomio[indice].getExponenteZ()==eZ)){
indiceBuscado=indice;
}
}
return indiceBuscado;
}
}
Hola xicos , el caso es que me diseñado esta clase y en el metodo AddMonomio llama a otros metodo que es existeMonomio el cual evalua si ya se a introducido el mismo monomio (xyz) , si existe los que hago es buscar el indice dnde esta alamcenado el monomio y sumarle al coeficiente q tenia antes otro coeficiente.
Es decir , si tengo 2xyz + 2xyz en vez de almacenarlo dos veces los almaceno como 4xyz.
Mi problema esta en que el no me llega al if en el metodo addMonomio y no se xq.
si podeis exarme una mano.
Nota: los dos metodos AddMonomo y existeMonomio pertenecen a la misma clase y NO hay herencia entre clases.