Java Как я могу вычислить среднее число чисел в массиве? - PullRequest
0 голосов
/ 10 января 2020

Я застрял с моей программой. Что он делает, в основном он генерирует 100 случайных чисел в массив. Он печатает цифры в 4 строки. После этого другой для l oop проверяет, есть ли числа, которые можно разделить на семь и даже в одно и то же время. Если есть, он вставляет их в другой массив. Теперь, мы не знаем, сколько таких чисел в случайном массиве, так что вот где я застрял. У меня есть сумма чисел в массиве. Но не могу рассчитать куски элементов.

import static java.lang.System.out;
import java.util.Random;


public class CSharp {

    public static void main(String[] args) {
        Random r = new Random();
        int[] numbers = new int[100];
        int[] canBeDividedBySeven = new int[100];
        int c = 0;
        int sum = 0;
        int average = 0;

        out.println("Random numbers: ");
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] += r.nextInt(90) + 10;

            out.print(numbers[i] + " ");
            if (i % 35 == 0) {  
                out.print("\n");
            }
        }

        out.println("\n\nNumbers that can be divided by 7 and are even: ");
        for (int j = 0; j < numbers.length; j++) {
            if (numbers[j] % 7 == 0 && numbers[j] % 2 == 0) {
                out.print(numbers[j] + " ");
                canBeDividedBySeven[c] += numbers[j];
            }
        }
        out.println("\n\nThe sum of the numbers in the 'canBeDividedBySeven': ");
        for (int y = 0; y < canBeDividedBySeven.length; y++) {
            sum += canBeDividedBySeven[y++];

        }
        out.print(sum);

    }

}

1 Ответ

1 голос
/ 10 января 2020

Вам не хватает 1 части - увеличивается c при добавлении его в массив canBeDividedBySeven. Если вы сделаете это, вы можете получить среднее значение, просто набрав (double) sum / c.

В основном ваш массив canBeDividedBySeven выглядит как [3283, 0, 0, 0, ..99 0's], если вы увеличиваете c (canBeDividedBySeven[c ++ ] += numbers[j];) это будет выглядеть как [14, 28, 14, 42, ...0, 0, 0], где вы можете найти «размер» этого массива с помощью переменной c. Фактический размер всегда будет просто 100.

Удачи!

...