Произведение элементов массива Java

Друзья, снова нужна ваша помощь.

Подскажите пожалуйста, почему мой код не работает?

Нужно создать массив, заполнить случайными числами от 1 до 10 и найти произведение всех этих чисел.

   public static void main(String[] args) {


    int[] array = new int[10];

    for (int i = 0; i < array.length; i++) {
        array[i] = 1+ (int) (Math.random() * 11);
    }
        long p = array[0] * array[1] * array[2] * array[3] * array[4] * array[5] * array[6] * array[7] * array[8] * array[9];
            System.out.println(p);


        }
    }

Ответы (1 шт):

Автор решения: Igor
int p = 0; // !!! Не торопитесь. Подумайте.
...
  p = p * array[i];

Вы доводите счетчик внешего цикла i до array.length во внутреннем цикле. Зачем тут вложенные циклы?


public static void main(String[] args) {
  int[] array = new int[10];
  int p = 1;
  for (int i = 0; i < array.length; i++) {
    array[i] = (int) (Math.random() * 10);
    p = p * array[i];
  }
  System.out.println(p);
}
→ Ссылка