THIS IS FINAL COURSE ASSIGNMENT, PLEASE FOLLOW ALL REQUIREMENTS. Hello, please h
ID: 3844377 • Letter: T
Question
THIS IS FINAL COURSE ASSIGNMENT, PLEASE FOLLOW ALL REQUIREMENTS.
Hello, please help write program in JAVA that reads students’ names followed by their test scores from "data.txt" file. The program should output "out.txt" file where each student’s name is followed by the test scores and the relevant grade, also find and print the highest test score and the name of the students having the highest test score.
Student data should be stored in an instance of class variable of type studentClass, which has four components: StudentFName, studentLName of type string, testScore of type int (testScore is between 0 and 100), and grade of type char. Suppose that the class has 20 students. Use an array of 20 elements of type studentClass.
SPECIFIC REQUIREMENTS
Program must contain the following methods:
1) A method to read the students’ data into the array
2) A method to assign the relevant grade to each student
3) A method to find the highest test score
4) A method to print the names of the students having the highest test score.
5) Your program must output each student’s name in the following form: last name followed by a comma, followed by a space, followed by the first name, the name must be left justified; you should output each student’s name followed by the test scores and the relevant grade. It should also find and print the highest test score and the name of the students having the highest test score as follow:
6) You MUST use the "Data.txt" file as input data file and "Out.txt" as a output result file.
Input "Data.txt" file must have information in the following manner:
Duckey Donald 85
Goof Goofy 89
Brave Balto 93
Snow Smitn 93
Alice Wonderful 89
Samina Akthar 85
Simba Green 95
Donald Egger 90
Brown Deer 86
Johny Jackson 95
Greg Gupta 75
Samuel Happy 80
Danny Arora 80
Sleepy June 70
Amy Cheng 83
Shelly Malik 95
Chelsea Tomek 95
Angela Clodfelter 95
Allison Nields 95
Lance Norman 88
Output result file "Out.txt" must have information in the following manner:
Student Name Test Score Grade
Donald, Duckey 85 B
Goofy, Goof 89 B
Balto, Brave 93 A
Smitn, Snow 93 A
Wonderful, Alice 89 B
Akthar, Samina 85 B
Green, Simba 95 A
Egger, Donald 90 A
Deer, Brown 86 B
Jackson, Johny 95 A
Gupta, Greg 75 C
Happy, Samuel 80 B
Arora, Danny 80 B
June, Sleepy 70 C
Cheng, Amy 83 B
Malik, Shelly 95 A
Tomek, Chelsea 95 A
Clodfelter, Angela 95 A
Nields, Allison 95 A
Norman, Lance 88 B
Highest Test Score: 95
Students having the highest test score:
Green, Simba
Jackson, Johny
Malik, Shelly
Tomek, Chelsea
Clodfelter, Angela
Nields, Allison
7) Other than declaring variables and opening the input and output files, the function main() should only be a collection of function calls.
8) Comment your code and use meaningful or mnemonic variable names
Student Name Test Score Grade Donald, Duckey 85 Goofy, Goof 89 Balto Brave 93 Smit n, Snow 93 wonderful, Alice 89 85 Akthar Samina. Green Simba 95 Egger, Donald 90 86 Brown Deer Jackson Johny 95 75 Gupta, Happy, Samuel 80 Arora Danny June sleepy 83 Malik, Shelly 95 Tomek Chelsea 95 Clodfelter Angela Nields, Allison 95 88 Norman, Lance Highest Test Score: 95 Students having the highest test score: Green Simba Jackson Johny Malik Shelly Tomek, Chelsea Clodfelter Angela Nields. AllisonExplanation / Answer
public class studentClass {
String studentFName, studentLName;
int testScore;
char grade;
/**
* @param studentFName
* @param studentLName
* @param testScore
*/
public studentClass(String studentFName, String studentLName, int testScore) {
this.studentFName = studentFName;
this.studentLName = studentLName;
this.testScore = testScore;
calculateGrade();
}
/**
* @return the studentFName
*/
public String getStudentFName() {
return studentFName;
}
/**
* @return the studentLName
*/
public String getStudentLName() {
return studentLName;
}
/**
* @return the testScore
*/
public int getTestScore() {
return testScore;
}
/**
* @return the grade
*/
public char getGrade() {
return grade;
}
/**
* @param studentFName
* the studentFName to set
*/
public void setStudentFName(String studentFName) {
this.studentFName = studentFName;
}
/**
* @param studentLName
* the studentLName to set
*/
public void setStudentLName(String studentLName) {
this.studentLName = studentLName;
}
/**
* @param testScore
* the testScore to set
*/
public void setTestScore(int testScore) {
this.testScore = testScore;
}
/**
* @param grade
* the grade to set
*/
public void setGrade(char grade) {
this.grade = grade;
}
/**
* method to set the grade
*/
public void calculateGrade() {
if (testScore > 90) {
grade = 'A';
} else if (testScore > 80) {
grade = 'B';
} else if (testScore > 60 && testScore <= 80) {
grade = 'C';
} else if (testScore > 40 && testScore <= 60) {
grade = 'D';
} else {
grade = 'E';
}
}
@Override
public String toString() {
// TODO Auto-generated method stub
return studentFName + " " + studentLName + " " + testScore + " "
+ grade;
}
}
import java.io.File;
import java.io.PrintWriter;
import java.util.Scanner;
public class TestStudentClass {
/**
*
* @param args
*/
public static void main(String[] args) {
studentClass[] studentClasses = readStudent();
System.out.println("student data reads successfully");
writeStudent(studentClasses);
System.out.println("student data writes successfully");
}
/**
* method to write data to file
*
* @param studentClasses
*/
public static void writeStudent(studentClass[] studentClasses) {
try {
PrintWriter printWriter = new PrintWriter(new File("Out.txt"));
printWriter.write("Student Name Test Score Grade ");
for (int i = 0; i < studentClasses.length; i++) {
printWriter.write(studentClasses[i].toString() + " ");
}
int maxScore = getMaxScore(studentClasses);
printWriter.write("Highest Test Score:" + maxScore + " ");
for (int i = 0; i < studentClasses.length; i++) {
if (maxScore == studentClasses[i].getTestScore()) {
printWriter
.write(studentClasses[i].getStudentLName() + ", "
+ studentClasses[i].getStudentFName()
+ " ");
}
}
printWriter.flush();
printWriter.close();
} catch (Exception e) {
// TODO: handle exception
}
}
/**
* method to read the student data
*
* @return
*/
public static studentClass[] readStudent() {
studentClass[] studentClasses = new studentClass[20];
Scanner scanner = null;
try {
scanner = new Scanner(new File("Data.txt"));
int count = 0;
while (scanner.hasNext()) {
studentClass studentClass = new studentClass(scanner.next(),
scanner.next(), scanner.nextInt());
studentClasses[count++] = studentClass;
}
} catch (Exception e) {
// TODO: handle exception
}
return studentClasses;
}
/**
* method to get max test score
*
* @param studentClasses
* @return
*/
public static int getMaxScore(studentClass[] studentClasses) {
int maxScore = Integer.MIN_VALUE;
for (int i = 0; i < studentClasses.length; i++) {
if (maxScore < studentClasses[i].getTestScore())
maxScore = studentClasses[i].getTestScore();
}
return maxScore;
}
}
Data.txt
Duckey Donald 85
Goof Goofy 89
Brave Balto 93
Snow Smitn 93
Alice Wonderful 89
Samina Akthar 85
Simba Green 95
Donald Egger 90
Brown Deer 86
Johny Jackson 95
Greg Gupta 75
Samuel Happy 80
Danny Arora 80
Sleepy June 70
Amy Cheng 83
Shelly Malik 95
Chelsea Tomek 95
Angela Clodfelter 95
Allison Nields 95
Lance Norman 88
Out.txt
Duckey Donald 85
Goof Goofy 89
Brave Balto 93
Snow Smitn 93
Alice Wonderful 89
Samina Akthar 85
Simba Green 95
Donald Egger 90
Brown Deer 86
Johny Jackson 95
Greg Gupta 75
Samuel Happy 80
Danny Arora 80
Sleepy June 70
Amy Cheng 83
Shelly Malik 95
Chelsea Tomek 95
Angela Clodfelter 95
Allison Nields 95
Lance Norman 88
Out.txt
Student Name Test Score Grade
Duckey Donald 85 B
Goof Goofy 89 B
Brave Balto 93 A
Snow Smitn 93 A
Alice Wonderful 89 B
Samina Akthar 85 B
Simba Green 95 A
Donald Egger 90 B
Brown Deer 86 B
Johny Jackson 95 A
Greg Gupta 75 C
Samuel Happy 80 C
Danny Arora 80 C
Sleepy June 70 C
Amy Cheng 83 B
Shelly Malik 95 A
Chelsea Tomek 95 A
Angela Clodfelter 95 A
Allison Nields 95 A
Lance Norman 88 B
Highest Test Score:95
Green, Simba
Jackson, Johny
Malik, Shelly
Tomek, Chelsea
Clodfelter, Angela
Nields, Allison
OUTPUT:
student data reads successfully
student data writes successfully
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.