I am trying to get this program to sort the students in decreasing order by their score. I keep getting an error message when I try to use SelectionSort. This is the error I receive. C:\Users\Jen>javac Sort.java Sort.java:36: selectionSort(int[]) in Sort cannot be applied to (int) int sortOutput = selectionSort(scores); ^ 1 error Here is the code I am using. Any help would be greatly appreciated. Code: import java.util.*; public class Sort { public static void main(String[] args){ //Create Scanner Scanner input = new Scanner(System.in); //Get the number of students System.out.print("Please enter the number of students: "); int numberOfStudents; String temp = input.nextLine(); numberOfStudents = Integer.parseInt(temp); //Create Array int[] scores = new int[numberOfStudents]; String [] names = new String[numberOfStudents]; Scanner input2 = new Scanner(System.in); //Loops asking user to enter data for (int i = 0; i < names.length; i ++){ System.out.print("Please enter a name: "); names[i] = input.nextLine(); System.out.print("Please enter a score for the name: "); scores[i] = input2.nextInt(); } System.out.println("Students Highest to Lowest"); for (int i = 0; i < names.length; i++){ String output = " "; output = names[i] + " score is " + scores[i] + "\n"; System.out.println(output); int sortOutput = selectionSort(scores[i]); } } public static void selectionSort(int [] scores){ for (int i = scores.length - 1; i >= 1; i--){ //Find the max in the scores array int max = scores[0]; int maxIndex = 0; for (int j = 1; j <= i; j++){ if(max < scores[j]){ max = scores[j]; maxIndex = j; } } // Swap scores as necessary if (maxIndex != i){ scores[maxIndex] = scores[i]; scores[i] = max; } } } }
the main thing i would say is you initialized 2 arrays in main but you are only passing one to selection sort. you need to pass names[] and scores[] to selection sort for it to work properly. also ur error comes from the fact that u are trying to stuff an array into a primitive type variable. i would delete that entirely. lemme know if this helps