Как исправить компиляцию java — программ в NetBeans?

Первоначально компиляция данной программы идет нормально:
package Lambda;

public interface NumericFunc {
    int func(int n);
}
class BlockLambdaDemo{
    public static void main(String args[]){
        NumericFunc factorial = (n) -> {
            int result = 1;
            for(int i = 1; i <= n; i++)
                result = i * result;

            return result;
        };

        System.out.println("Факториал числа 3 равен " + factorial.func(3));
        System.out.println("Факториал числа 5 равен " + factorial.func(5));
    }
}

Но после изменений значений вывода на
System.out.println("Факториал числа 3 равен " + factorial.func(20));
System.out.println("Факториал числа 5 равен " + factorial.func(46));

в консоли Netbeans выводятся старые значения, факториалы 3 и 5. Как это исправить?
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 2
@guras256
1) поставь Intellij idea
2) пакеты называют с маленькой буквы
3) написанный код не имеет смысла, ты объявил интерфейс и создал его анонимную реализацию вместо того, чтобы просто объявить статическую функцию
4) и если уж ты хочешь решать задачи в функциональном стиле используя java 8, мог бы сделать что-нибудь такое:
Function<Integer, Integer> factorial =
                (n) -> IntStream.rangeClosed(1, n)
                        .reduce((left, right) -> left * right)
                        .getAsInt();

        System.out.println(factorial.apply(5));
Ответ написан
Комментировать
jaxtr
@jaxtr
JavaEE/Spring-разработчик
Щёлкаешь правой кнопкой мыши по проекту - Очистить и собрать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы