Resulta ser que tengo que hacer un programa el cual yo genere mi propio polinomio y en base a eso graficarlo, aunque tengo muchas trabas en lo que es el uso de las clases genéricas.
Para programarlo utilizo la aplicacion BlueJ y estoy empleando un total de 4 clases.
En la clase donde tengo error es
Clase PuntosEcuación:
Código
import java.util.Vector; import java.awt.*; private Vector<Punto> Puntos; private Polinomio Poli; PuntosEcuacion(Polinomio Poli, double linf,double lsup,double inc){ for ( double i = linf ; linf < lsup; i += inc){ } } return new Vector<Punto>(Puntos); } public double getPunto(int num){ Punto<Double> p = Puntos.get(num); double x = p.getX().doubleValue(); double y = p.getY().doubleValue(); return new Punto<Double>(x,y); // En esta linea me manda el error incompatyble types. } Polinomio p = new Polinomio(2); p.agregaTermino(new Termino(1,2)); p.agregaTermino(new Termino(3,0)); PuntosEcuacion pe = new PuntosEcuacion(p,-10,10,5); //Error a NULL pointer Exception pe.resize(400,400); pe.show(); } //Dibujar Plano Cartesiano for (int i = 0; i<400;i = i +10){ gc.drawLine(0,i,400,i); gc.drawLine(i,0,i,400); } gc.drawLine(200,0,200,400); gc.drawLine(0,200,400,200); } }
Por cualquier cosa anexo las demás clases:
Código
public class Punto<E>{ private E x; private E y; public Punto(E x, E y){ this.x = x; this.y = y; } E getX(){ return x; } void setX(E x){ this.x = y; } E getY(){ return y; } void setY(E y){ this.y = y; } }
Código
public class Polinomio{ private Termino[] Terminos; int gradoP = 0; public Polinomio(int grado){ gradoP = grado; Terminos = new Termino[grado+1]; } public void agregaTermino( Termino Term){ int index = Term.getExponente(); if(index >= 0 && index <= gradoP) Terminos[index] = new Termino(Term); } public double evalua( double x){ double sum = 0.0; for ( Termino recorre:Terminos){ if ( recorre != null){ sum += recorre.evalua(x); }else{ } } return sum; } return null; } }
Código
import java.lang.Math; public class Termino{ private double Coeficiente; private int Exponente; public Termino (Termino Term){ Coeficiente = Term.getCoeficiente(); Exponente = Term.getExponente(); } public Termino (double Coef, int Exp){ Coeficiente = Coef; Exponente = Exp; } public int getExponente(){ return Exponente; } public double getCoeficiente(){ return Coeficiente; } double evalua(double x){ return Coeficiente * potPol; } }
En caso de ser respondido se los agradecería de antemano.