этот код не работает, он сказал, что lessthaAverage (int) в calculateArray нельзя применить к(), я новичок, поэтому Я до сих пор не понимаю эту кодировку, вот вопрос: спросите, напишите объектно-ориентированную программу, которая произвольно генерирует массив из 1000 целых чисел от 1 до 1000. Рассчитайте количество чисел более 500 и найдите среднее число чисел , Подсчитайте число, которое меньше среднего и, наконец, отсортируйте числа в порядке убывания. Показать все ваши результаты. Пожалуйста, помогите мне, спасибо ...Напишите объектно-ориентированную программу, которая произвольно генерирует массив из 1000 целых чисел от 1 до 1000
import java.util.*;
import java.io.*;
//import java.util.random;
public class CalculateArray
{
//declare attributes
private int arr[] = new int[1000];
int i;
//generates an array of 1000 integers between 1 to 1000
public void genArr()
{
Random ran = new Random();
for(i = 0; i < arr.length; i++)
{
arr[i] = ran.nextInt(1000) + 1;
}
}
//Calculate the occurences of number more than 500
public int occNumb()
{
int count;
for(i = 0; i < arr.length; i++)
{
if(arr[i] > 500)
{
count++;
}
}
return count;
}
//find the average of the numbers
public int average()
{
int sum, aver;
for(i = 0; i < arr.length; i++)
{
sum += arr[i];
}
aver = sum/1000;
return aver;
}
//Count the number which is less than the average
public int lessthanAverage(int aver)
{
int cnt;
cnt = 0;
for(i = 0; i < arr.length; i++)
{
if(arr[i] < aver)
{
cnt++;
}
}
return cnt;
}
//finally sort the numbers in descending order.
public void sort(int[] num)
{
System.out.println("Numbers in Descending Order:");
for (int i=0; i <= num.length; i++)
for (int x=1; x <= num.length; x++)
if (num[x] > num[x+1])
{
int temp = num[x];
num[x] = num[x+1];
num[x+1] = temp;
}
}
//Display all your output
public void display()
{
int count, aver;
System.out.println(arr[i] + " ");
System.out.println("Found " + count + " values greater than 500");
System.out.println("The average of the numbers is " + aver);
System.out.println("Found " + count + " values that less than average number ");
}
public static void main(String[] args)
{
CalculateArray show = new CalculateArray();
show.genArr();
int c= show.occNumb();
show.average();
int d=show.lessthanAverage();
show.sort(arr);
show.display();
}
}
Можете ли вы опубликовать точное сообщение об ошибке? – nhgrif
Какая у вас ошибка? –
Не связанный с вашим вопросом, но вы не должны создавать экземпляр нового объекта «Случайный» при каждом вызове 'genArr()'. Сделайте 'ran' static и создайте экземпляр его один раз, например, в главном или статичном уровне уровня объявления класса. – pjs