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

poprawa programu

Object Storage Arubacloud
0 głosów
493 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 506 wizyt
pytanie zadane 26 marca 2020 w Java przez mn130496 Gaduła (3,530 p.)
0 głosów
2 odpowiedzi 334 wizyt
pytanie zadane 13 listopada 2018 w Java przez mn130496 Gaduła (3,530 p.)
0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 16 kwietnia 2019 w JavaScript przez Mateo13 Bywalec (2,360 p.)

92,556 zapytań

141,404 odpowiedzi

319,563 komentarzy

61,942 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...