Programa para suma de Polinomios usando Listas enlazadas (Java)

julio 5 20096 comentarios

Guardado en : General

Programa para realizar suma de polinomios con listas enlazadas.

package com.ubicuos.main;
import java.util.LinkedList;
import java.util.ArrayList;
import java.util.Arrays;
class Term implements Comparable
{
  private char symbol;
  private double exponent;
  private double coefficient;
  public double eval (double value)
  {
    return coefficient * Math.pow (value, exponent);
  }
  public Term (double coefficient, double exponent)
  {
    this.exponent = exponent;
    this.coefficient = coefficient;
  }
  public Term ()
  {
    symbol = 'x';
  }
  public String toString ()
  {
    StringBuffer sb = new StringBuffer (12);
    sb.append (coefficient);
    sb.append (symbol);
    sb.append ('^');
    sb.append (exponent);
    return sb.toString ();
  }
  public double getCoefficient ()
  {
    return coefficient;
  }
  public double getExponent ()
  {
    return exponent;
  }
  public void setExponent (double exponent)
  {
    this.exponent = exponent;
  }
  public void setCoefficient (double coefficient)
  {
    this.coefficient = coefficient;
  }
  public Term add (Term a, Term b)
  {
    Term c = new Term ();
    if (a.getExponent () == b.getExponent ())
      {
	c.setCoefficient (a.getCoefficient () + b.getCoefficient ());
	c.setExponent (a.getExponent ());
	return c;
      }
    else
      return c;
  }
  public int compareTo (Object anotherTerm)
  {
    if (!(anotherTerm instanceof Term))
      throw new ClassCastException ("Term Expected /Se esperaba un termino.");
    double expo = ((Term) anotherTerm).getExponent ();
    return (int) (this.exponent - expo);
  } public static LinkedList add (LinkedList a, LinkedList b)
  {
    LinkedList result = new LinkedList ();
    Term x, y;
    int i = 0, j = 0;
    int maxLen = Math.max (a.size (), b.size ());
    do
      {
	x = (Term) a.get (i);
	y = (Term) b.get (j);
	if (x.compareTo (y) > 0)
	  {
	    result.add (a.get (i));
	    result.add (b.get (j));
	    i++;
	  }
	if (x.compareTo (y) == 0)
	  {
	    result.add (x.add ((Term) a.get (i), (Term) b.get (j)));
	    i++;
	    j++;
	  }
	if (x.compareTo (y) < 0)
	  {
	    result.add (b.get (j));
	    result.add (a.get (i));
	  }
	i++;
	j++;
      }
    while (i < maxLen || j < maxLen);
    return result;
  }
}
 
public class SumPol
{
  public static void main (String args[])
  {
    Term a = new Term (1, 7);
    Term b = new Term (2, 3);
      System.out.println (a.add (a, b));
    LinkedList x = new LinkedList (), y = new LinkedList (), res;
      x.add (a);
      y.add (b);
      res = Term.add (x, y);
      System.out.println ("suma = " + res.toString ());
}}

Quizá te interese :

Acerca del autor:

6 Respuestas a “Programa para suma de Polinomios usando Listas enlazadas (Java)”

  1. dav dice:

    no tienes el metodo main???

  2. Daniel dice:

    Si está al final, se crean las linked list y se llama al método.
    Si tienes otra duda, no tengas inconveniente en preguntar.

  3. james dice:

    me puedes enviar el package com.ubicuos.main

  4. chava dice:

    hola necesito el programa completo para sumar polinomios me lo piden como trabajo final en la escuela porfa m lo puedes mandar a mi correo…t lo agradeceria mucho….

  5. Daniel dice:

    El programa, está completo lo puedes copiar y pegar en tu editor, y comprobarlo.
    Si tienes dudas (Sobre el programa), mandalas, con gusto.

  6. laura dice:

    hola tengo una duda en ese caso tu agregas los terminos de el polinomio, pero si recibieras dos polinomios en forma de lista, como lo recorerias para ir sumandolo las listas creadas con linkedlist claro espero me puedas responder, gracias por este aporte

Deja un comentario


Licencia y uso

Las técnicas demostradas en los tutoriales pueden ser utilizadas sin ninguna limitación y tampoco es obligatorio dar una atribución.


Los textos, imágenes y tutoriales son propiedad de sus respectivos autores, nuestro contenido se encuentra bajo licencia Creative Commons Share-Alike.

Escribe algo para el sitio

El escribir un tutorial o un artículo, mandarnos un enlace para Ubicuos, no solamente es una forma de obtener publicidad, si no también de dar algo a la comunidad y nosotros te lo recompensamos con los premios del mes! Leer más de nuestras promociones

¿Sugerencias?

Este es TU sitio, si tienes sugerencias o ideas de cómo podemos mejorarlo para ti, ¡Por favor háznoslos saber!

Hacemos nuestro mayor esfuerzo en proporcionar un sitio útil y amigable y esperamos que disfrutes tu tiempo aquí.

Ayuda a Difundir

Te gusta Ubicuos?

Ve las formas en que nos puedes apoyar.

Apoyando a Ubicuos.com

Submit your linkClose

-->