Obliczanie średniej arytmetycznej od 5 do podanej przez użytkownika

1

Cześć, chce napisać program na obliczanie średniej arytmetycznej od 5 do podanego n w tym wypadku 9Chciałbym aby na koniec program wyświetlił (5+6+7+8+9)/5 = 35/5= 7; zastanawiam sie jak dodac do tego teraz nawias w dodawaniu i pozbyc sie plusa po ostatniej liczbie

Akutalnie program dziala, ale nie podoba mi sie ze wyswietla 5+6+7+8+9+/5 = 35/5 = 7.0

int suma = 0;
int quantity = 0;
int dodawanie = 0;
int n = 9;
int o = 5;
int m = 1 + (n - o);

for (int i = 5; i <= n; i++) {
    suma += i;
    quantity++;
}


double average = (double) suma / quantity;
IntStream.rangeClosed(5, n).forEach(i -> System.out.print(i + "+"));
System.out.print("/" + m + " = " + suma + "/" + m + " = " + average);
System.out.println();
0

Sprawdź czy suma jest podzielna przez quantity bez reszty, i jeśli jest, to pokaż ją jako integer.

String formatFraction(int dividend, int divisor) {
  if (dividend % divisor === 0) {
    return (dividend / divisor).toString();
  }
  return ((double) dividend / divisor).toString();
}

System.out.println(formatFraction(35, 5));
System.out.println(formatFraction(36, 5));

PS: Ah, przepraszam. Nie doczytałem, myślałem że problemem jest to że się pojawia 7.0 zamiast 7.

dawidziol95 napisał(a):

Chciałbym aby na koniec program wyświetlił (5+6+7+8+9)/5 = 35/5= 7; Akutalnie program dziala, ale nie podoba mi sie ze wyswietla 5+6+7+8+9+/5 = 35/5 = 7.0

0

Zamiast forEach zrób joina np przy użyciu .collect(Collectors.joining(...)), wtedy będziesz miał plusy tylko pomiędzy:

System.out.print("(" + IntStream.rangeClosed(5, n).mapToObj(String::valueOf).collect(Collectors.joining("+")) + ")");

Takie problemy rozwiązuje gpt

0
dawidziol95 napisał(a):

Cześć, chce napisać program na obliczanie średniej arytmetycznej od 5 do podanego n w tym wypadku 9
for (int i = 5; i <= n; i++) {
suma += i;
quantity++;
}

Może o co innego pytasz, ale w tym przypadku nie potrzebna ci nawet pętla. Wystarczy, że zinterpolujesz to w połowie:
average = n * 0.5 + o * 0.5

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.