Java BigInteger цикл while
Пытаюсь найти произведение квадратов от 1 до 10, но не могу добиться что бы срабатывал счётчик от 1 до 10:
BigInteger n;
BigInteger cou = BigInteger.valueOf(10);
BigInteger x = BigInteger.ONE;
BigInteger summ = BigInteger.ONE;
while (!x.equals(cou)) {
n = x.multiply(x);
x.add(BigInteger.ONE);
summ = (summ.multiply(n));
long zz = summ.longValue();
System.out.println(zz);
}
System.out.println("Произведение квадратов чисел от 1 до 10: "+summ);
Постоянно получаю единицу. Прошу помощи.
Ответы (2 шт):
Автор решения: Дмитрий
→ Ссылка
Забыли присвоить полученное значение переменной :
вместо x.add(BigInteger.ONE); надо x = x.add(BigInteger.ONE);
Автор решения: azlov
→ Ссылка
Это связано с тем, что метод x.add(BigInteger.ONE); возвращает результат, который вам необходимо присвоить x:
x = x.add(BigInteger.ONE);