wikiHow è una "wiki"; questo significa che molti dei nostri articoli sono il risultato della collaborazione di più autori. Per creare questo articolo, autori volontari hanno collaborato apportando nel tempo delle modifiche per migliorarlo.
Questo articolo è stato visualizzato 21 918 volte
Oggigiorno, sapere come calcolare la media aritmetica di un insieme di numeri è un'operazione molto importante. La media viene utilizzata in molte operazioni matematiche, pertanto si tratta di un calcolo basilare da saper padroneggiare. Tuttavia se siamo alle prese con un insieme di numeri molto grandi è molto più semplice utilizzare un programma per eseguire il calcolo. Questa guida mostra come creare un semplice programma in Java che esegua il calcolo della media dell'insieme di numeri inserito.
Passaggi
-
1Pianifica il tuo programma. Pianificare il tuo programma prima di iniziare a crearlo è un passo fondamentale. Pensa a tutte le operazioni che dovrà compiere e allo scopo per cui viene creato. Il programma dovrà lavorare con numeri molto grandi? Se la risposta è un sì, allora utilizza un tipo di dati 'long' anzichè il semplice 'int'.
- Prova a eseguire manualmente il calcolo della media di un piccolo insieme di piccoli numeri. In questo modo potrai capire meglio come dovrà lavorare il tuo programma.
-
2Scrivi il codice. Per poter calcolare la media, hai la necessità di conoscere le seguenti informazioni:
- La somma di tutti i numeri inseriti in input dall'utente.
- Il numero totale dei numeri inseriti dall'utente.
- Facciamo un esempio, se la somma dei numeri forniti fosse 100 e il numero degli elementi forniti 10, allora la media sarebbe uguale a 100 / 10 cioè 10.
- Possiamo quindi dedurre che la formula per calcolare la media sia:
Media = Sommatoria dei numeri in input / Totale dei numeri inseriti - Per ricevere tutte queste informazioni (input) dall'utente, puoi provare a utilizzare la classe Scanner di Java.
- Dato che in input riceverai un insieme composto da più numeri, prova a utilizzare un ciclo per gestire questa parte del programma. Nel codice di esempio, viene utilizzato un ciclo 'for', ma puoi provare a implementare un programma che utilizzi il ciclo 'while'.
-
3Calcola la media. Per farlo utilizza la formula dedotta nei passaggi precedenti e inseriscila nel codice del programma. Assicurati che la variabile che memorizza il valore della media sia di tipo float. In caso contrario il risultato potrebbe non essere matematicamente corretto.
- Questo perché il tipo di dati float è un numero a virgola mobile, che utilizza una precisione singola a 32 bit. Questo significa che considera anche la parte decimale di un numero durante le operazioni matematiche. Quindi utilizzando una variabile di tipo float, il risultato della seguente operazione matematica, 5 / 2 (5 diviso 2), sarà 2,5.
- Se per memorizzare il risultato dello stesso calcolo (5 / 2), avessimo utilizzato una variabile int, avremmo ottenuto 2 come soluzione al nostro problema.
- Tuttavia le variabili in cui andrai a memorizzare la sommatoria dei numeri inseriti dall'utente e il numero di elementi inseriti, trattandosi di numeri interi, potranno essere memorizzati in variabili di tipo int. Utilizzando una variabile di tipo float per la 'media', Java eseguirà automaticamente la conversione da int a float. Quindi il risultato verrà visualizzato in 'formato' float, anziché intero (int).
- Questo perché il tipo di dati float è un numero a virgola mobile, che utilizza una precisione singola a 32 bit. Questo significa che considera anche la parte decimale di un numero durante le operazioni matematiche. Quindi utilizzando una variabile di tipo float, il risultato della seguente operazione matematica, 5 / 2 (5 diviso 2), sarà 2,5.
-
4Mostra a video il risultato del tuo calcolo. Dopo che il programma avrà calcolato la media, potrai mostrarla all'utente. Per farlo potrai utilizzare il metodo di Java System.out.print o System.out.println (per stampare a video partendo da una nuova linea).Pubblicità
Codice di Esempio
import java.util.Scanner;
public class main_class {
public static void main(String[] args){
int sum = 0, inputNum;
int counter;
float mean;
Scanner NumScanner = new Scanner(System.in);
Scanner charScanner = new Scanner(System.in);
System.out.println("Digita il numero di elementi di cui vuoi calcolare la media.");
counter = NumScanner.nextInt();
System.out.println("Per favore inserisci " + counter + " numeri:");
for(int x = 1; x<=counter ;x++){
inputNum = NumScanner.nextInt();
sum = sum + inputNum;
System.out.println();
}
mean = sum / counter;
System.out.println("La media dei " + counter + " numeri inseriti è " + mean);
}
}
import java.util.Scanner;
/*
*Questa implementazione del programma permette all'utente di continuare a inserire
*numeri finché non avrà inserito tutti i numeri necessari.
*La stringa 'sentinel' viene utilizzata per fare in modo che il programma possa
*determinare quando l'utente ha terminato di inserire l'input.
*La funzione 'Integer.parseInt(String s)' analizza la stringa in ingresso e restituisce i numeri
*contenuti nella stringa. (Ad esempio Integer.parseInt("462")==462).
*Nota importante: quando utilizzi questo metodo per le variabili di input
*non comparare le stringhe utilizzando gli operatori
*"==" or "!=". In questo modo verrebbero comparati gli indirizzi di memoria
*dove sono memorizzate le stringhe.
*Utilizza il metodo s.equals(String t) che restituisce 'true' se le due stringhe 's' e 't' sono uguali.
*Invece il metodo !s.equals(String t) restituisce true se due stringhe 's' e 't' sono diverse.
*/
public class main_class {
public static void main(String[] args){
String sentinel = "";
int sum = 0;
int counter = 0;
double mean = 0.0;
Scanner NumScanner = new Scanner(System.in);
System.out.println("Inserisci i numeri da sommare. Digita \"d\" quando hai terminato.");
System.out.print("Inserisci un numero: ");
sentinel = NumScanner.next();
System.out.println();
while(!sentinel.equals("d") && !sentinel.equals("D")) {
sum += Integer.parseInt(sentinel);
counter++;
System.out.print("Inserisci un numero: ");
sentinel = NumScanner.next();
System.out.println();
}
mean = (sum*1.0)/counter;
System.out.println();
System.out.println("La media aritmetica dei numeri inseriti è: " + mean +".");
}
}
Consigli
- Prova a ampliare il tuo programma in modo che riesca a eseguire più calcoli matematici.
- Prova a creare un'interfaccia grafica utente (GUI) in modo che il programma risulti più interattivo e facile da utilizzare.