I have an assignment that I'm stumped on. I created a class and got it to work for one student but I can't figure it out with multiple students. I've included what I currently have. Here is what they are asking for.
Write a class that uses a string array to hold the 5 students names, an array of 5 characters to hold the 5 students letter grades, and 5 arrays of four doubles each to hold each students test scores.
import java.util.Scanner;
public class GradeBook {
//declare variables
private String names;
private int scores1;
private int scores2;
private int scores3;
private int scores4;
private double average;
private char grades;
Scanner keyboard = new Scanner(System.in);
//default constructor
public GradeBook()
{
//initialize variables
names = "";
scores1 = 0; // Test Score 1
scores2 = 0; // Test Score 2
scores3 = 0; // Test Score 3
scores4 = 0; // Test Score 4
average = 0; // total of 4 test scores
grades = 'A';
}
//overloaded constructor
public GradeBook (String inName, int scr1, int scr2, int scr3, int scr4, int scr5,
int sAverage, char sLetterGrade)
{
names = inName;
scores1 = scr1;
scores2 = scr2;
scores3 = scr3;
scores4 = scr4;
average = sAverage;
grades = sLetterGrade;
}
public String toString()
{
return "Name: " +names+ "\t" + "Average score: " +average+ "\t" + "Grade: " + grades;
}
public void display()
{
Scanner keyboard = new Scanner(System.in);
System.out.println(toString());
}
//names setter
public void setnames(String student)
{
names = student;
}
// scores1 setter
public void setscores1(int S1)
{
scores1 = S1;
}
//scores2 setter
public void setscores2(int S2)
{
scores2 = S2;
}
//scores3 setter
public void setscores3(int S3)
{
scores3 = S3;
}
//scores4 setter
public void setscores4(int S4)
{
scores4 = S4;
}
//average setter
public void setaverage(int scores1, int scores2, int scores3, int scores4)
{
average = scores1 + scores2 + scores3 + scores4;
}
//grades setter
public void setgrades(char gradesScore)
{
grades = gradesScore;
}
//names getter
public String getnames()
{
return names;
}
// scores1 getter
public int getscores1()
{
return scores1;
}
//scores2 getter
public int getscores2()
{
return scores2;
}
//scores3 getter
public int getscores3()
{
return scores3;
}
//scores4 getter
public int getscores4()
{
return scores4;
}
//average getter
public double getaverage()
{
return average;
}
//grades getter
public char getgrades()
{
return grades;
}
public void startProcessing()
{
String student = "";
System.out.println("Enter student 1's name:");
student = keyboard.next();
setnames(student);
System.out.println("Now enter student 1's four test scores");
System.out.println("");
System.out.println("");
System.out.println("");
scores1=retrieveScore("Test Score #1", 100);
scores2=retrieveScore("Test Score #2", 100);
scores3=retrieveScore("Test Score #3", 100);
scores4=retrieveScore("Test Score #4", 100);
average=grades();
System.out.println("");
}
public int retrieveScore(String sVal, int maxVal)
{
int x;
System.out.println(sVal + ":");
x = keyboard.nextInt();
if ((x>=0)&&(x<=maxVal))
{
System.out.println(" ");
}
else
{//If not valid test score
System.out.println("Invalid test score");
System.exit(0);
}
return x;
}
public double grades()
{
int sumTest;
double percentTest;
sumTest = scores1+ scores2+ scores3+ scores4;
percentTest = ((sumTest)/4.0);
average = percentTest;
if(average>=90)
grades='A';
else if(average >=80)
grades='B';
else if(average>=70)
grades='C';
else if(average>=60)
grades='D';
else if(average<60)
grades='F';
return average;
}
public class gradeDemo {
public static void main(String[] arg)
{
// GradeBook gradingTest = new GradeBook();
// gradingTest.display();
GradeBook gradingTest = new GradeBook();
gradingTest.startProcessing();
System.out.println(gradingTest.toString());
}
}