Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2016, 11:49   #1
luibrain
Пользователь
 
Регистрация: 17.02.2016
Сообщений: 27
По умолчанию Полиномы

Разработка класса для представления многочлена от двух переменных на основе связанного списка. Операции: сложение многочленов, умножение многочленов.

как в main реализовать сложение и умножение?

Код:
package javaapplication7;
import java.util.Arrays;
import java.util.Collection;
 
class Polynomials {
 
    public static double[] polynomial(double ... coefficients) {
        return coefficients;
    }
 
    public static double[] polynomial(Collection<? extends Number> coefficients) {
        double[] result = new double[coefficients.size()];
        int i = 0;
        for (final Number coefficient : coefficients) {
            result[i++] = coefficient.doubleValue();
        }
        return result;
    }
 
    public static double getCoefficient(double[] polynomial, int power) {
        return  (power >= polynomial.length) ? 0 : polynomial[power];
    }
 
    public static double[] add(double[] a, double[] b) {
        final int resultingLength = Math.max(a.length, b.length);
        final double[] result = new double[resultingLength];
        for (int i = 0; i < resultingLength; ++i) {
            result[i] = getCoefficient(a, i) + getCoefficient(b, i);
        }
        return result;
    }
 
    public static double[] negate(double[] polynomial) {
        return multiply(polynomial, -1);
    }
 
    public static double[] subtract(double[] a, double[] b) {
        final int resultingLength = Math.min(a.length, b.length);
        final double[] result = new double[resultingLength];
        for (int i = 0; i < resultingLength; ++i) {
            result[i] = getCoefficient(a, i) - getCoefficient(b, i);
        }
        return result;
    }
 
    public static double[] multiply(double[] polynomial, double value) {
        final double[] result = new double[polynomial.length];
        for (int i = 0; i < polynomial.length; ++i) {
            result[i] = polynomial[i] * value;
        }
        return result;
    }
 
    public static double[] multiply(double[] a, double[] b) {
        final double[] result = new double[a.length + b.length - 1];
        for (int i = 0; i < a.length; ++i) {
            for (int j = 0; j < b.length; ++j) {
                result[i + j] += a[i] * b[j];
            }
        }
        return result;
    }
 
    public static double[] divide(double[] polynomial, double value) {
        final double[] result = new double[polynomial.length];
        for (int i = 0; i < polynomial.length; ++i) {
            result[i] = polynomial[i] / value;
        }
        return result;
    }
}
public class NewClass {
     public static void main(String[] args) {
    }
}
luibrain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полиномы nevernever Помощь студентам 0 21.04.2014 21:01
Полиномы Illya Общие вопросы по Java, Java SE, Kotlin 0 29.10.2013 01:14
Полиномы Эрмита на C++ smaileek Помощь студентам 1 24.06.2012 08:08
полиномы stck C# (си шарп) 1 18.02.2011 04:15
Полиномы от нескольких переменных VHomer Общие вопросы Delphi 0 12.06.2009 16:11