Foros del Web » Programación para mayores de 30 ;) » Java »

mi clase Polinomios

Estas en el tema de mi clase Polinomios en el foro de Java en Foros del Web. 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; } ...
  #1 (permalink)  
Antiguo 10/12/2011, 14:04
 
Fecha de Ingreso: mayo-2008
Mensajes: 124
Antigüedad: 16 años, 6 meses
Puntos: 0
mi clase Polinomios

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.
  #2 (permalink)  
Antiguo 10/12/2011, 14:56
 
Fecha de Ingreso: mayo-2008
Mensajes: 124
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: mi clase Polinomios

Tambien acepto propuestas de como organizar mi polinomio , es decir , si tengo en el vector

2xyz - 3xyz + 3xy^2z


se transforme en

-1xyz + 3xy^2z

Etiquetas: clase, clases
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:05.