Salve a tutti, devo creare un programma che faccia immettere all'utente un numero n e che generi n numeri random (compresi tra 0 e 500), calcolandone poi la media e il valore massimo. Il problema che riscontro è nel calcolo del valore massimo. Non ho mai usato un array, l'ho scoperto solo oggi cercando in rete soluzioni al mio problema. Il mio codice è questo (manca la parte relativa al calcolo del max):
codice:import java.util.Random; import java.util.Scanner; public class NumeriRandom { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); System.out.println("Inserisci un numero <=100: "); int n = in.nextInt(); int somma = 0; int arrayNumeri[]; if (n<=100) {Random random = new Random(); for(int i = 0; i < n; i++) { int k = random.nextInt(500); System.out.println(k); somma = somma + k; } //media double media = somma/n; System.out.println("Media dei numeri random: "+ media); //Massimo (da fare) } else System.out.println ("Numero non corretto: riprova"); } }
Per il valore massimo volevo usare :
Però per fare questo ho pensato che dovessi immagazzinare man mano i vari numeri random all'intero dell'array..avendo arrayNumeri = {k1,k2,k3.....ecc}.. e quindi ho provato con questo all'interno del ciclo for (P.s. l'array ovviamente l'ho inizializzato prima):codice:int[] arrayNumeri = new int[n]; int max=arrayNumeri[0]; for(int i=0; i<=arrayNumeri.length-1; i++) { if( arrayNumeri[i]<max ) { max=arrayNumeri[i]; } } System.out.println ("Il valore massimo dell'array è : "+max);
Chi potrebbe aiutarmi? Grazie!codice:arrayNumeri = new int[n]; arrayNumeri[i] = k;

Rispondi quotando