Мне нужно сгенерировать определенное количество случайных чисел между любыми двумя значениями, указанными пользователем (пример, 12 номеров все между 10 и 20), а затем вычислить среднее число чисел , Проблема в том, если я попрошу, чтобы он сгенерировал 10 чисел, он будет генерировать только 9 (показано на выходе.) Кроме того, если я введу максимальный диапазон 100 и мин 90, программа все равно будет генерировать # например 147 и т. д., которые превышают максимальный диапазон ... я испортил генератор случайных чисел? Может кто-нибудь помочь?вычисление среднего числа случайных целых чисел в массиве
Вот код, который я до сих пор:
public class ArrayRandom
{
static Console c; // The output console
public static void main (String[] args)
{
c = new Console();
DecimalFormat y = new DecimalFormat ("###.##");
c.println ("How many integers would you like to generate?");
int n = c.readInt();
c.println ("What is the maximum value for these numbers?");
int max = c.readInt();
c.println ("What is the minimum value for these numbers?");
int min = c.readInt();
int numbers[] = new int [n];
int x;
double sum = 0;
double average = 0;
//n = number of random integers generated
for (x = 1 ; x <= n-1 ; x++)
{
numbers [x] = (int) (max * Math.random() + min);
}
for (x = 1 ; x <= n-1 ; x++)
{
sum += numbers [x];
average = sum/n-1);
}
c.println ("The sum of the numbers is: " + sum);
c.println ("The average of the numbers is: " + y.format(average));
c.println ("Here are all the numbers:");
for (x = 1 ; x <= n-1 ; x++)
{
c.println (numbers [x]); //print all numbers in array
}
} // main method
} // ArrayRandom class
Вы изменили код в скорректированной версии? Пожалуйста, не делайте этого - это затрудняет тем, кто читает вопрос (после того, как он был решен), чтобы понять, в чем проблема. –
О, ладно, сорри! Я вернусь к оригинальной версии. – Wickeddreams