In: Computer Science
GradeBook.java
import java.util.Random; // import Random class
public class GradeBook { // create GradeBok class
private int grades[]; // grades array is defined
//default constructor with array size parameter has been
created
public GradeBook(int size) {
grades = new int[size];
}
// method to fill the array
public void fillArray() {
Random rn=new Random();
// loop through the array and randomly fill it
for (int i = 0; i < grades.length; i++) {
grades[i] = rn.nextInt(100) + 1;
}
}
// print the statistics of the array values
public void printStatistics() {
int max = grades[0], min = grades[0];
float avg=0, median=0;
// loop through the array
for (int a : grades) {
if (a < min)
min = a;
if (a > max)
max = a;
avg += a;
}
avg = avg / grades.length;
// sort the array
for (int i = 0; i < grades.length - 1; i++) {
for (int j = 0; j < grades.length - i - 1; j++) {
if (grades[j] > grades[j + 1]) {
int t = grades[j];
grades[j] = grades[j + 1];
grades[j + 1] = t;
}
}
}
int l = grades.length;
median = l % 2 == 0 ? (grades[l / 2] + grades[l / 2 + 1]) / 2 :
grades[l / 2];
System.out.println("Minimum : " + min + "\nMaximum : " + max +
"\nAverage : " + avg + "\n Median : " + median);
}
}
GradeBookTester.java
import java.util.Scanner; // import Scanner class
public class GradeBookTester { // For Testing purpose GradeTester class has created
@SuppressWarnings("resource")
public static void main(String args[]) { // to test
GradeBook purpose we are created main method
Scanner x = new Scanner(System.in); // user to give input of array
size purpose we are using canner
// get user input
System.out.print("Enter size of grades array : ");
int l = Integer.parseInt(x.nextLine());
// call GradeBook methods
GradeBook grade = new GradeBook(l);
grade.fillArray(); // call the fillArray
grade.printStatistics(); // call printStatistics to print
grades
}
}
output:
Enter size of grades array : 10
Minimum : 5
Maximum : 95
Average : 49.2
Median : 55.0
Screenshots for above classes and output:
GradeBook.java
GradeBookTester.java
Output: