@solidussnake

Как вставить метод внутрь метода самым простым способом?

Нужно вставить метод f внутрь метода task3 (потому что f используется только в task3). Напрямую не получается, intellijIDEA ругается. Я видел в интернете разные способы, они все слишком мудрёные. Мне по учёбе в универе это надо, поэтому нужен самый простой способ.
Спасибо.

class MyClass{

public static void task3(){
        //a=1, b=2, c=-15, d=14

        Scanner scanner = new Scanner(System.in);
        // Коэффициенты уравнения
        System.out.println("Введите a, b, c, d");
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
        int d = scanner.nextInt();

        if(a == 0 || d == 0){
            System.out.println("a и d не должны быть равны нулю!");
            return;
        }
        int i = 1;
        int iters = Math.abs(d)/2;

        // пока счётчик меньше половины d
        while (i <=  iters ) {
            // если счётчик является делителем d
            if (d % i == 0) {
                if (f(a, b, c, d, i) == 0) // и в то же время является корнем уравнения
                { System.out.println("Положительный корень: " + i); }
                if (f(a, b, c, d, -i) == 0) // если противоположное число тоже является корнем
                {System.out.println("Отрицательный корень: " + -i); }
            }
            i++;
        }
    }

// вычисляет: ax^3 + bx^2 + cx + d с коэффициентами и иксом ↓
    public static int f(int a, int b, int c, int d, int x)
    {return (a * x * x * x) + (b * x * x) + (c * x) + d; }

}
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019 Куратор тега Java
Bigdata Engineer
В Java некрасиво получается если объявлять Function прямо в теле метода. Тебе проще инлайнить эту колбасу
(a * x * x * x) + (b * x * x) + (c * x) + d
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽