• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java - problem z pętlą wyciągającą wartość min

VPS Starter Arubacloud
0 głosów
180 wizyt
pytanie zadane 2 listopada 2022 w Java przez Digi26 Nowicjusz (120 p.)

Cześć,

Mam za zadanie napisanie programu do którego wrzucamy parę cyfr i on wypluwa nam największą, najmniejszą i średnią.

Niestety nie mogę sobie poradzić w znalezieniu w tym kodzie błędu przez który nieważne jakie byłyby liczby to wartość min zawsze równa się 0..


package LAB2;
import java.util.Scanner;
public class Zad4 {


    public static void main(String[] args) {

        int i;
        int[] tablica;
        int max = 0, min = 0;
        float suma=0;

        java.util.Scanner scanner = new java.util.Scanner(System.in);
        System.out.println("Podaj rozmiar tablicy");
        tablica = new int[scanner.nextInt()];
        System.out.println("rozmiar tablicy to: " + tablica.length);

        Scanner odczyt = new Scanner(System.in);
        System.out.println("Wczytaj liczby");
        for ( i = 0; i < tablica.length; i++) {
            System.out.println("Podaj liczbe: ");
            tablica[i] = odczyt.nextInt();
        }
        for(i = 0; i< tablica.length; i++)
        {
            if(tablica[i] < min){
                min=tablica[i];
            }
        }
        for(i =0; i< tablica.length; i++)
        {
            if(tablica[i]>max){
                max=tablica[i];
            }
        }
        for(i =0; i< tablica.length; i++)
        {
           suma += tablica[i];

        }
        float srednia = suma/ tablica.length;
    System.out.println("Najmniejsza liczba to: " + min);
    System.out.println("Najwieksza liczba to: " + max);
    System.out.println("Srednia wynosi: "+ srednia);
    }

 

komentarz 2 listopada 2022 przez VBService Ekspert (251,210 p.)
edycja 2 listopada 2022 przez VBService

BTW, znajdywanie najmniejszej, największej i obliczanie sumy możesz wykonać za pomocą jednej pętli

[ on-line ]

        for(i=0; i<tablica.length; i++)
        {
            if(tablica[i]<min)
                min = tablica[i];
    
            if(tablica[i]>max)
                max = tablica[i];
 
            suma += tablica[i];
        }

 

komentarz 2 listopada 2022 przez Oscar Nałogowiec (29,290 p.)
Jak już optymalizować, to tablica też nie jest potrzebna. Można liczyć od razu po wprowadzeniu kolejnych liczb.
komentarz 2 listopada 2022 przez VBService Ekspert (251,210 p.)

1 odpowiedź

+1 głos
odpowiedź 2 listopada 2022 przez Great Stary wyjadacz (12,300 p.)
int max = 0, min = 0;

Zmienna min ma początkowo wartość 0. Stąd też każda podana dodatnia liczba będzie większa od min. Zamiast tego przypisz wartość pierwszego elementu tablicy.

Podobne pytania

0 głosów
1 odpowiedź 1,238 wizyt
pytanie zadane 19 grudnia 2017 w Java przez Ohnne Nowicjusz (180 p.)
0 głosów
1 odpowiedź 1,556 wizyt
pytanie zadane 29 maja 2018 w JavaScript przez C1chutki Nowicjusz (120 p.)
0 głosów
5 odpowiedzi 3,095 wizyt
pytanie zadane 10 marca 2018 w C i C++ przez giedymin33 Początkujący (290 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...