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

poprawa programu

VPS Starter Arubacloud
0 głosów
492 wizyt
pytanie zadane 13 października 2018 w Java przez mn130496 Gaduła (3,530 p.)

Witam 

Ostatnio na zajęciach dostałem zadanie o treści: Wczytaj kilka(x) liczb i myznacz wartości min, max,średnią oraz ilość podanych liczb. Napisałem taki kod programu:

package zad;
import java.util.Scanner;
public class zad {
	public static void main(String[] args) {
		//deklaracja tablicy i zmiennych
		int[] tablica=new int[6];
		float suma=0;
		//zapis liczb do tablicy 
		Scanner odczyt= new Scanner(System.in);
		System.out.println("Wczytaj liczby");
		for (int i=0; i<tablica.length; i++) {
			tablica[i]=odczyt.nextInt();
		}//wyznaczenie minimum i maksimum
			int min = tablica[0];
			int max=tablica[0];
			for (int i=0; i<tablica.length; i++) {
				if(tablica[i]<min) {
					min=tablica[i];
				}
			} for (int i=0; i<tablica.length; i++) {
				if(tablica[i] > max) {
					max=tablica[i];
				}
			} System.out.println("Najmniejsza liczba wynosi " +min+" a Największa liczba wynosi " +max);
		 // wyświetlenie ilości elemętów tablicy
		 int ilość= tablica.length;
		System.out.println("Ilość podanych liczb = " +ilość);
		//policzenie średniej liczb zawartych w tablicy
		for(int i=0; i< tablica.length; i++) {
			suma += tablica[i];
		} float średnia= suma/tablica.length;
		System.out.println("Średnia podanych liczb wynosi: " +średnia);
		
	}
	

}

Wszystko działa jak należy.Jednak mam teraz zrobione to za pomocą tablicy 6 elemętowej a chciałbym żeby ilość liczb podanych zależała odemnie czyli np podaje 4 liczby potem klikam jakiś przycisk i konczy się podawanie liczb i zaczynają się wykonywać dalsze instrukcje.Myślałem żeby zrobić to pętlą While ale nie wiem jak.Czy ktoś mógłby mi podsunąć jakiś pomysł.Z góry dziękuję

2 odpowiedzi

+1 głos
odpowiedź 13 października 2018 przez Tomasz Rogalski Bywalec (2,800 p.)
Zanim zadeklarujesz rozmiar tablicy, wczytaj od użytkownika jej rozmiar i przekaż jako parametr zamiast 6:)

Czyli najpierw wczytanie potem inicjalizacja, czy to jasne co napisałem?
komentarz 13 października 2018 przez mn130496 Gaduła (3,530 p.)
nie zabardzo wiem jak przekazać rozmiar tablicy jako parametr.mógbyś mi to wytumaczyć?
komentarz 13 października 2018 przez Tomasz Rogalski Bywalec (2,800 p.)
class Test {
    public static void main(String[] args) {
        java.util.Scanner scanner = new java.util.Scanner(System.in);
        System.out.println("Podaj rozmiar tablicy");
        int[] tablica = new int[scanner.nextInt()];
        System.out.println("rozmiar tablicy to: " + tablica.length);
    }
}

Tak lepiej?:)

komentarz 13 października 2018 przez mn130496 Gaduła (3,530 p.)
Tak dzięki wielkie już sobie poradzę.Jeszcze raz dzięki za pomoc
0 głosów
odpowiedź 13 października 2018 przez mbabane Szeryf (79,280 p.)
edycja 14 października 2018 przez mbabane

Ponadto nie zamykasz Scannera. Robi się to w momencie kiedy Scanner jest już niepotrzebny, Można to zrobić na dwa sposoby, albo wywołać Scanner#close() ( odczyt.close() ), albo wykorzystać konstrukcje try-with-resources. O tym drugim poczytaj w necie.

Inną rzeczą jest jeszcze wyodrębnienie poszczególnych funkcjonalności do osobnych metod tak aby nie robić komentarzy gdzie co jest.

Podobne pytania

0 głosów
0 odpowiedzi 472 wizyt
pytanie zadane 26 marca 2020 w Java przez mn130496 Gaduła (3,530 p.)
0 głosów
2 odpowiedzi 333 wizyt
pytanie zadane 13 listopada 2018 w Java przez mn130496 Gaduła (3,530 p.)
0 głosów
1 odpowiedź 114 wizyt
pytanie zadane 16 kwietnia 2019 w JavaScript przez Mateo13 Bywalec (2,360 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 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!

...