How do I fix the code? Code: import java.util.Scanner; public class Grades { static int count = 0; public static int readGrades() { int grade,count = 0; Scanner input = new Scanner(System.in); grade = input.nextInt(); return grade; } public static int sum(int[] arr) { int sum = 0; for (int i = 0; i < arr.length; i++) sum = sum + arr[i]; return sum; } public static int sum(int[] arr, int firstIndex, int lastIndex) { if (firstIndex < 0 || lastIndex >= arr.length || lastIndex >= firstIndex || firstIndex >= arr.length || lastIndex < 0 || firstIndex < lastIndex) { return -666; } int sum = 0; for (int i = firstIndex; i <= lastIndex; i++) sum = sum + arr[i]; return sum; } public static double average(int[] arr) { double sum = sum(arr); return ((float) sum / (float) (arr.length)); } public static int maxValue(int[] arr) { int max = 0; for (int i = 0; i < arr.length; i++) { if (max < arr[i]) { max = arr[i]; } } return max; } public static int maxValue(int[] arr, int firstIndex, int lastIndex) { if (firstIndex < 0 || lastIndex >= arr.length || lastIndex >= firstIndex || firstIndex >= arr.length || lastIndex < 0 || firstIndex < lastIndex) { return -666; } int max = 0; for (int i = firstIndex; i <= lastIndex; i++) { if (max < arr[i]) { max = arr[i]; } } return max; } public static int indexOfFirstMaxValue(int[] arr) { int max = 0; for (int i = 0; i < arr.length; i++) { if (maxValue(arr) == arr[i]) { max = i; } } return max; } public static int minValue(int[] arr) { int min = arr[0]; for (int i = 1; i < arr.length; i++) { if (min > arr[i]) { min = arr[i]; } } return min; } public static int minValue(int[] arr, int firstIndex, int lastIndex) { if (firstIndex < 0 || lastIndex >= arr.length || lastIndex >= firstIndex || firstIndex >= arr.length || lastIndex < 0 || firstIndex < lastIndex) { return -666; } int min = arr[0]; for (int i = firstIndex; i <= lastIndex; i++) { if (min > arr[i]) { min = arr[i]; } } return min; } public static int indexOfFirstMinValue(int[] arr) { int min = 0; for (int i = 0; i < arr.length; i++) { if (minValue(arr) == arr[i]) { min = i; } } return min; } public static int numberOfBelowAverageElements(int[] arr) { int count = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] < average(arr)) { count++; } } return count; } public static int numberOfAboveAverageElements(int[] arr) { int count = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] > average(arr)) { count++; } } return count; } public static void rotateElements(int[] arr) { int i, temp; temp = arr[0]; for (i = 0; i < arr.length - 1; i++) { arr[i] = arr[i + 1]; } arr[arr.length - 1] = temp; System.out.print("\nRotated array is: \n"); for (int k = 0; k < arr.length; k++) { System.out.print(arr[k] + " "); } } public static void rotateElements(int[] arr, int rotationCount) { for (int i = 0; i < rotationCount; i++) rotateElements(arr); System.out.print("\nRotated array is: \n"); for (int k = 0; k < arr.length; k++) { System.out.print(arr[k] + " "); } } public static void reverseArray(int[] arr) { int n = arr.length; int[] b = new int[n]; int j = n; for (int i = 0; i < n; i++) { b[j - 1] = arr[i]; j = j - 1; } System.out.print("\nReversed array is: \n"); for (int k = 0; k < n; k++) System.out.print(b[k] + " "); } public static void main(String[] args) { int grade[] = new int[5]; int i = 0; System.out.println("Enter a grade : "); while ( i < 5) { grade[i] = readGrades(); if (grade[i] == -1) { break; } else { i++; count++; } } System.out.println("Number of grades: " + count); //take care of the firstIndex and lastIndex parameters [0, count-1] System.out.println("The maximum grades is: " + maxValue(grade, 0, count-1)); System.out.println("The minimum grades is: " + minValue(grade, 0, count -1)); }
How do I fix the code?
Code:
import java.util.Scanner;
public class Grades {
static int count = 0;
public static int readGrades() {
int grade,count = 0;
Scanner input = new Scanner(System.in);
grade = input.nextInt();
return grade;
}
public static int sum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++)
sum = sum + arr[i];
return sum;
}
public static int sum(int[] arr, int firstIndex, int lastIndex) {
if (firstIndex < 0 || lastIndex >= arr.length || lastIndex >= firstIndex || firstIndex >= arr.length || lastIndex < 0 || firstIndex < lastIndex) {
return -666;
}
int sum = 0;
for (int i = firstIndex; i <= lastIndex; i++)
sum = sum + arr[i];
return sum;
}
public static double average(int[] arr) {
double sum = sum(arr);
return ((float) sum / (float) (arr.length));
}
public static int maxValue(int[] arr) {
int max = 0;
for (int i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}
public static int maxValue(int[] arr, int firstIndex, int lastIndex) {
if (firstIndex < 0 || lastIndex >= arr.length || lastIndex >= firstIndex || firstIndex >= arr.length || lastIndex < 0 || firstIndex < lastIndex) {
return -666;
}
int max = 0;
for (int i = firstIndex; i <= lastIndex; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}
public static int indexOfFirstMaxValue(int[] arr) {
int max = 0;
for (int i = 0; i < arr.length; i++) {
if (maxValue(arr) == arr[i]) {
max = i;
}
}
return max;
}
public static int minValue(int[] arr) {
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
}
}
return min;
}
public static int minValue(int[] arr, int firstIndex, int lastIndex) {
if (firstIndex < 0 || lastIndex >= arr.length || lastIndex >= firstIndex || firstIndex >= arr.length || lastIndex < 0 || firstIndex < lastIndex) {
return -666;
}
int min = arr[0];
for (int i = firstIndex; i <= lastIndex; i++) {
if (min > arr[i]) {
min = arr[i];
}
}
return min;
}
public static int indexOfFirstMinValue(int[] arr) {
int min = 0;
for (int i = 0; i < arr.length; i++) {
if (minValue(arr) == arr[i]) {
min = i;
}
}
return min;
}
public static int numberOfBelowAverageElements(int[] arr) {
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] < average(arr)) {
count++;
}
}
return count;
}
public static int numberOfAboveAverageElements(int[] arr) {
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > average(arr)) {
count++;
}
}
return count;
}
public static void rotateElements(int[] arr) {
int i, temp;
temp = arr[0];
for (i = 0; i < arr.length - 1; i++) {
arr[i] = arr[i + 1];
}
arr[arr.length - 1] = temp;
System.out.print("\nRotated array is: \n");
for (int k = 0; k < arr.length; k++) {
System.out.print(arr[k] + " ");
}
}
public static void rotateElements(int[] arr, int rotationCount) {
for (int i = 0; i < rotationCount; i++)
rotateElements(arr);
System.out.print("\nRotated array is: \n");
for (int k = 0; k < arr.length; k++) {
System.out.print(arr[k] + " ");
}
}
public static void reverseArray(int[] arr) {
int n = arr.length;
int[] b = new int[n];
int j = n;
for (int i = 0; i < n; i++) {
b[j - 1] = arr[i];
j = j - 1;
}
System.out.print("\nReversed array is: \n");
for (int k = 0; k < n; k++)
System.out.print(b[k] + " ");
}
public static void main(String[] args) {
int grade[] = new int[5];
int i = 0;
System.out.println("Enter a grade : ");
while ( i < 5) {
grade[i] = readGrades();
if (grade[i] == -1)
{
break;
}
else {
i++;
count++;
}
}
System.out.println("Number of grades: " + count);
//take care of the firstIndex and lastIndex parameters [0, count-1]
System.out.println("The maximum grades is: " + maxValue(grade, 0, count-1));
System.out.println("The minimum grades is: " + minValue(grade, 0, count -1));
}
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 12 images