Solved: A program that reads a student’s name together with his or her test score, …

$30.00

Category:

Description

Solved: A program that reads a student’s name together with his or her test score, …

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:

This is what I have so far:

package readwritetofile;

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;
int [] tests = new int [10];

System.out.printf(“Students\tTest1\tTest2\tTest3\tTest4\ttest5\tAverage\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]);
// System.out.print(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){

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 double 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 grade;

} // end of calculateGrade method

public static void calculateTestAverage (int students [][]){

int sumTotal = 0;

for (int i=0; i < students.length; i++) {
sumTotal += students[i][0];
System.out.print(sumTotal);
}

} // end of calculateTestAverage method

public static void printGrades () {

} // end of method printGrades

} // end of grades


error: Content is protected !!