Solved: Grading Schema: Write a program that reads a student’s name ….

$30.00

Category:

Description

Solved: Grading Schema: Write a program that reads a student’s name ….

Grading Schema:

In a separate function, you will implement a grading schema. Write a program that reads a student’s name together with his or her test score from a file given by the user. The first two values in the file will represent the number of students followed by the number of tests. The program should then compute the average test score for each student and assign the appropriate grade (A, B, C, D, E or F) as well as the average of each test. Your program must perform the following functions. a) A void function calculateAverage, to determine the average of the test scores for each student. b) A value-returning function, calculateGrade, to determine and return each student’s grade letter. c) A void function calculateTestAvg that calculates the average of all tests and overall average of students. d) A void function printGrades that prints the grades values, average marks and grade letter followed by the average of all tests and students.

Output:

Having problems calling a 2D arrary in order to print the average, grade and test average in printGrade. Also not sure if my second calculateTestAverage is correct either. Help with my code would be fantastic.

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import java.util.ArrayList;

/**

 *

 * @author Jarvis

 */

public class Grades {

 

private static final String FILENAME2 = “/Users/Jarvis/Documents/Students.txt”;

 

public static void main(String[] args) {

BufferedReader br = null;

FileReader fr = null;

 

String students [] = new String[10];

int [][] grades = new int [10][5];

String[] words;

String sCurrentLine;

int counter=0;

double [] row = new double [10];

int [] tests = new int [10];

 

System.out.printf(“Students\tTest1\tTest2\tTest3\tTest4\tTest5\tAverage\tGrade\n”);

 

try {

 

fr = new FileReader(FILENAME2);

br = new BufferedReader(fr);

 

br = new BufferedReader(new FileReader(FILENAME2));

 

while ((sCurrentLine = br.readLine()) != null) {

 

words = sCurrentLine.split(” “);

students[counter]=words[0];

System.out.printf(students[0]+ ” “);

 

for (int i=1; i < words.length; i++){

grades[counter][i-1]=Integer.parseInt(words[i]);

 

 

} //end of outer for loop

 

 

} // end of while loop

 

} catch (IOException e) {

 

e.printStackTrace();

 

} // end of catch

 

 

counter++;

 

}//end of main

 

public static void calculateAverage (int [] grades){

 

//calculate the average of each student

 

ArrayList<Double> averageGrades = new ArrayList<>();

 

int sum = 0;

 

for (int i=0; i < grades.length; i++) {

 

sum += grades[i];

 

// Divides the sum of the numbers by the number of grades

averageGrades.add((sum/(double)grades.length));

 

} // end of inner for loop

 

 

for(int j = 0; j < grades.length; j++) {

System.out.print(grades[j]+” “);

} // end of for loop

 

System.out.println(averageGrades.get(4));

 

} // end of calculateAverage()

 

public static void calculateTestAverage (double [] row){

 

//calculate the average of each test

 

int sum = 0;

 

for (int i=0; i < row.length; i++) {

 

sum += row[i];

 

// Divides the sum of the numbers by the number of grades

double total = ((sum/(double)row.length));

 

} // end of inner for loop

 

 

for(int j = 0; j < row.length; j++) {

System.out.print(row[j]+” “);

 

}

 

 

} // end of calculateTestAverage method

 

public static char calculateGrade(double grade) {

 

if (grade >=0 && grade <60) {

return ‘F’;

 

} else if (grade >= 60 && grade < 70){

return ‘D’;

 

} else if (grade >=70 && grade < 80) {

return ‘C’;

 

} else if (grade >=80 && grade < 90) {

return ‘B’;

 

} else if (grade >=90 && grade < 100)

return ‘A’;

return (char) grade;

 

} // end of calculateGrade method

 

public void printGrades (int grades, double row, double grade) {

 

calculateAverage(grades[counter]);

 

System.out.print(calculateGrade(char(grade)));

 

} // end of method printGrades

 

} // end of grades

Show transcribed image text

 


error: Content is protected !!