Det kanske var en förutsättning i uppgiften att man
skulle använda en array, men det behövs ju ingen
array för att beräkna min och max av ett antal
slumptal.
Jag kör 100 000 000 i stället och ökar intervallet till
0 - 999 999 999.
Jag lade till beräkning av medelvärdet.
Kod:
public class Uppgift1b
{
public static void main(String[] args)
{
int min = 1000000000, max = 0, numOfRnds = 100000000;
long sum = 0;
for(int i = 0; i < numOfRnds; i++) {
int rndNum = (int)(Math.random() * 1000000000);
if(rndNum<min) min = rndNum;
if(rndNum>max) max = rndNum;
sum = sum + (long) rndNum;
}
double ave = (double) sum / (double) numOfRnds;
System.out.format("\nMin=%d\nMax=%d\nAve=%.2f", min, max, ave);
}
}
Med stora datamängder, så kan det vara stor skillnad beroende
på om man väljer att lagra data eller inte. Att lagra 100 000 000
heltal med 4 byte vardera tar ca 400 Mbyte eller ca 0,4 Gbyte.
Om man t.ex. bara behöver min, max och medelvärde så kan
det beräknas utan att data lagras.
Tänk också på att största int (4 byte) i Java är 2 147 483 647.
Om man använder int för sum ovan så blir det fel.
–