I'm trying to copy the above average values to a new array then printing the lowest value in the new array. I kept trying to copy the values but it keep copying the intair array could someone help me with that.
Please help.
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Enter the number of students");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] arr = new int[n];
int total = 0;
double average=0;
int aboveAverage=0;
if(n<5) {
System.out.println("ERROR: number of students must be 5 or more ");
}else {
System.out.print("Enter thier marks ");
for(int i=0; i<arr.length; i++){
arr[i] = scanner.nextInt();
}
Arrays.sort(arr);
System.out.println("Max value "+arr[arr.length-1]);
for(int i=0; i<arr.length; i++){
total = total + arr[i];
}
average = total / arr.length;
System.out.format("The average is: %.1f", average);
}
System.out.print("\nEven : ");
for(int a = 0 ; a < n ; a++)
{
if(arr[a] % 2 == 0)
{
System.out.print(arr[a] + " ");
}
} System.out.print("\nOdd : ");
for(int a = 0 ; a < n ; a++)
{
if(arr[a] % 2 != 0)
{
System.out.print(arr[a] + " ");
}
}
for (int a = 0; a < arr.length; a++)
{
if (arr[a]>average)
{
aboveAverage++;
}
}
System.out.println("\nThe number of students above average ("+average+") is "+aboveAverage );
System.out.print("B:");
int arr1 []= new int[n];
for(int b = 0; b < arr.length; b++) {
if(arr[b] > average) {
arr1[b]=arr[b] ;
arr1= Arrays.copyOf(arr, n);
System.out.print(arr1[b]+" ");
Arrays.sort(arr1);
}
}
Arrays.sort(arr1);
System.out.print("\nMinimum number in B: "+arr1[aboveAverage]+" ");
}