Hello I am working on a GradedActivity program in Java. Any need would be greatl
ID: 3773750 • Letter: H
Question
Hello I am working on a GradedActivity program in Java. Any need would be greatly appreicated!!!
I need to add the averages of each of the four students averages:
Example of what the output should look like:
Anne Jones
12345
axs345@asu.edu
Grades: 85.0 97.0 86.0 92.0
Amy Brown
23456
axs345@asu.edu
Grades: 72.0 81.0 86.0 90.0
John smith
34567
axs345@asu.edu
Grades: 60.0 75.0 86.0 90.0
Ben Cartwright
45678
axs345@asu.edu
Grades: 90.0 87.0 82.0 79.0
Lab Average: 76.8
Midterm Average: 85.0
Essay Average: 85.0
Final Average: 87.8
Lab Highest: 90.0
Midterm Highest: 97.0
Essay Highest: 86.0
Final Highest: 92.0
Lab Lowest: 60.0
Midterm Lowest: 75.0
Essay Lowest: 82.0
Final Lowest: 79.0
Student 1 Cumulative Average: 90.9
Student 2 Cumulative Average: 82.9
Student 3 Cumulative Average: 78.7
Student 4 Cumulative Average: 84.2
Class Average: 84.2
Student Class:
package student;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Student {
private String first; // first name
private String last; // last name
private String email; // email address
private int studentID; // section number
public ArrayList<GradedActivity> grades;
public Student(String first, String last, String email, int studentID, ArrayList<GradedActivity> grades) {
this.first = first;
this.last = last;
this.email = email;
this.studentID = studentID;
this.grades = grades;
}
//printnig data
@Override
public String toString() {
return last+" "+first+" "+studentID+" "+email+" Grades: "+grades.get(0).getGrade()+" "+grades.get(1).getGrade()+" "+grades.get(2).getGrade()+" "+grades.get(3).getGrade();
}
public static void main(String[] args) {
int N = 4;
Student[] students = new Student[N];
Scanner StdIn = new Scanner(System.in);
for (int i = 0; i < N; i++) {
System.out.println("Enter first name: ");
String first = StdIn.next();
System.out.println("Enter last name: ");
String last = StdIn.next();
System.out.println("Enter email: ");
String email = StdIn.next();
System.out.println("Enter ID: ");
int studentID = StdIn.nextInt();
//creating grade objects
ArrayList<GradedActivity> grades = new ArrayList<GradedActivity>();
System.out.println("Enter four scores: ");
for(int j=0;j<4;j++){
double score = StdIn.nextDouble();
GradedActivity obj = new GradedActivity();
obj.setScore(score);
grades.add(obj);
}
students[i] = new Student(first, last, email, studentID,grades);
}
for (int i = 0; i < N; i++) {
for (int j = i; j > 0; j--) {
if (students[j].studentID <(students[j - 1].studentID)) {
Student swap = students[j];
students[j] = students[j + 1];
students[j + 1] = swap;
}
}
}
for (int i = 0; i < N; i++) {
System.out.println(students[i]);
}
}
}
Analyzable Interface:
package student;
public interface Analyzable
{
public double getAverage();
GradedActivity getHighest();
GradedActivity getLowest();
public String toString();
public void setFinalExam(FinalExam aFinalExam);
public void setEssay(Essay anEssay);
public void setPassFailExam(PassFailExam aPassFailExam);
public void setLab(GradedActivity aLab);
}
CourseGrades Class:
package student;
public class CourseGrades implements Analyzable
{
private GradedActivity[] grades = new GradedActivity[4];
public void setLab(GradedActivity aLab)
{
grades[0] = aLab;
}
public void setPassFailExam(PassFailExam aPassFailExam)
{
grades[1]= aPassFailExam;
}
public void setEssay(Essay anEssay)
{
grades[2] = anEssay;
}
public void setFinalExam(FinalExam aFinalExam)
{
grades[3] = aFinalExam;
}
// String toSting method to set the string for output result
public String toString()
{
String str = "Lab Score: " + grades[0].getScore() +
" Grade: " + grades[0].getGrade() +
" Pass/Fail Exam Score: " + grades[1].getScore() +
" Grade: " + grades[1].getGrade() +
" Essay Score: " + grades[2].getScore() +
" Grade: " + grades[2].getGrade() +
" Final Exam Score: " + grades[3].getScore() +
" Grade: " + grades[3].getGrade();
return str;
}
@Override
public double getAverage()
{
double total = 0.0;
double avg = 0.0;
for(int i = 0; i< grades.length; i++)
total += grades[i].getGrade();
avg = total/grades.length;
return avg;
}
@Override
public GradedActivity getHighest()
{
GradedActivity highest = grades[0];
for(int i = 1; i < grades.length; i++)
{
if(grades[i].getGrade() < highest.getGrade())
highest = grades[i];
}
return highest;
}
@Override
public GradedActivity getLowest()
{
GradedActivity lowest = grades[0];
for(int i = 1; i < grades.length; i++)
{
if(grades[i].getGrade() >lowest.getGrade())
lowest = grades[i];
}
return lowest;
}
}
GradedActivity Class:
package student;
public class GradedActivity
{
private double score; // Numeric score
public void setScore(double s)
{
score = s;
}
public double getScore()
{
return score;
}
public char getGrade()
{
char letterGrade;
if (score >= 90)
letterGrade = 'A';
else if (score >= 80)
letterGrade = 'B';
else if (score >= 70)
letterGrade = 'C';
else if (score >= 60)
letterGrade = 'D';
else
letterGrade = 'F';
return letterGrade;
}
}
Essay Class:
package student;
public class Essay extends GradedActivity {
public int getEssay(int essay) {
return essay;
}
}
Final Exam Class:
package student;
class FinalExam extends GradedActivity{
int a, b;
FinalExam(int aa, int bb) {
a=aa;
b=bb;
setScore(a+b);
}
}
PassFailExam Class:
package student;
class PassFailExam extends GradedActivity{
int a;
int b;
int c;
PassFailExam(int aa, int bb, int cc) {
a=aa;
b=bb;
c=cc;
setScore(a+b+c);
}
}
Explanation / Answer
Answer:
complete code that yields saidoutput is as follows.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Student {
private String first; // first name
private String last; // last name
private String email; // email address
private int studentID; // section number
public ArrayList<GradedActivity> grades;
public Student(String first, String last, String email, int studentID, ArrayList<GradedActivity> grades) {
this.first = first;
this.last = last;
this.email = email;
this.studentID = studentID;
this.grades = grades;
}
//printnig data
@Override
public String toString() {
return first+" "+last+" "+studentID+" "+email+" Grades: "+grades.get(0).getScore()+" "+grades.get(1).getScore()+" "+grades.get(2).getScore()+" "+grades.get(3).getScore();
}
public static void main(String[] args) {
int N = 4;
Student[] students = new Student[N];
Scanner StdIn = new Scanner(System.in);
for (int i = 0; i < N; i++) {
System.out.println("Enter first name: ");
String first = StdIn.next();
System.out.println("Enter last name: ");
String last = StdIn.next();
System.out.println("Enter email: ");
String email = StdIn.next();
System.out.println("Enter ID: ");
int studentID = StdIn.nextInt();
//creating grade objects
ArrayList<GradedActivity> grades = new ArrayList<GradedActivity>();
System.out.println("Enter four scores: ");
for(int j=0;j<4;j++){
double score = StdIn.nextDouble();
GradedActivity obj = new GradedActivity();
obj.setScore(score);
grades.add(obj);
}
students[i] = new Student(first, last, email, studentID,grades);
}
for (int i = 0; i < N; i++) {
for (int j = i; j > 0; j--) {
if (students[j].studentID <(students[j - 1].studentID)) {
Student swap = students[j];
students[j] = students[j + 1];
students[j + 1] = swap;
}
}
}
for (int i = 0; i < N; i++) {
System.out.println(students[i]);
}
double t=0;
//finding Lab Average
for (int i = 0; i < N; i++)
{
t=t+students[i].grades.get(0).getScore();
}
System.out.println("Lab Average: "+t/N);
//finding Midterm Average
t=0;
for (int i = 0; i < N; i++)
{
t=t+students[i].grades.get(1).getScore();
}
System.out.println("Midterm Average: "+t/N);
//Finding Essay Average
t=0;
for (int i = 0; i < N; i++)
{
t=t+students[i].grades.get(2).getScore();
}
System.out.println("Essay Average: "+t/N);
//Finding Final Average
t=0;
for (int i = 0; i < N; i++)
{
t=t+students[i].grades.get(3).getScore();
}
System.out.println("Final Average: "+t/N);
GradedActivity Labhighest=students[0].grades.get(0);
GradedActivity midhighest=students[0].grades.get(1);
GradedActivity ehighest=students[0].grades.get(2);
GradedActivity fhighest=students[0].grades.get(3);
for(int i=1;i<N;i++)
{
if(students[i].grades.get(0).getScore()>Labhighest.getScore())
Labhighest=students[i].grades.get(0);
if(students[i].grades.get(1).getScore()>midhighest.getScore())
midhighest=students[i].grades.get(1);
if(students[i].grades.get(2).getScore()>ehighest.getScore())
ehighest=students[i].grades.get(2);
if(students[i].grades.get(3).getScore()>fhighest.getScore())
fhighest=students[i].grades.get(3);
}
System.out.println("Lab Highest:"+Labhighest.getScore());
System.out.println("Midterm Highest:"+midhighest.getScore());
System.out.println("Essay Highest:"+ehighest.getScore());
System.out.println("Final Highest:"+fhighest.getScore());
GradedActivity Lablowest=students[0].grades.get(0);
GradedActivity midlowest=students[0].grades.get(1);
GradedActivity elowest=students[0].grades.get(2);
GradedActivity flowest=students[0].grades.get(3);
for(int i=1;i<N;i++)
{
if(students[i].grades.get(0).getScore()<Lablowest.getScore())
Lablowest=students[i].grades.get(0);
if(students[i].grades.get(1).getScore()<midlowest.getScore())
midlowest=students[i].grades.get(1);
if(students[i].grades.get(2).getScore()<elowest.getScore())
elowest=students[i].grades.get(2);
if(students[i].grades.get(3).getScore()<flowest.getScore())
flowest=students[i].grades.get(3);
}
System.out.println("Lab lowest:"+Lablowest.getScore());
System.out.println("Midterm lowest:"+midlowest.getScore());
System.out.println("Essay lowest:"+elowest.getScore());
System.out.println("Final lowest:"+flowest.getScore());
double classTotal=0;
for(int i=0;i<N;i++)
{
double total=0;
for(int k=0;k<4;k++)
{
total=total+students[i].grades.get(k).getScore();
}
classTotal+=(total/4);
System.out.println("Student "+(i+1)+" Cumulative Average: "+total/4);
}
System.out.println("Class Average:"+classTotal/N);
}
}
interface Analyzable
{
public double getAverage();
GradedActivity getHighest();
GradedActivity getLowest();
public String toString();
public void setFinalExam(FinalExam aFinalExam);
public void setEssay(Essay anEssay);
public void setPassFailExam(PassFailExam aPassFailExam);
public void setLab(GradedActivity aLab);
}
class CourseGrades implements Analyzable
{
private GradedActivity[] grades = new GradedActivity[4];
public void setLab(GradedActivity aLab)
{
grades[0] = aLab;
}
public void setPassFailExam(PassFailExam aPassFailExam)
{
grades[1]= aPassFailExam;
}
public void setEssay(Essay anEssay)
{
grades[2] = anEssay;
}
public void setFinalExam(FinalExam aFinalExam)
{
grades[3] = aFinalExam;
}
// String toSting method to set the string for output result
public String toString()
{
String str = "Lab Score: " + grades[0].getScore() +
" Grade: " + grades[0].getGrade() +
" Pass/Fail Exam Score: " + grades[1].getScore() +
" Grade: " + grades[1].getGrade() +
" Essay Score: " + grades[2].getScore() +
" Grade: " + grades[2].getGrade() +
" Final Exam Score: " + grades[3].getScore() +
" Grade: " + grades[3].getGrade();
return str;
}
@Override
public double getAverage()
{
double total = 0.0;
double avg = 0.0;
for(int i = 0; i< grades.length; i++)
total += grades[i].getGrade();
avg = total/grades.length;
return avg;
}
public GradedActivity getHighest()
{
GradedActivity highest = grades[0];
for(int i = 1; i < grades.length; i++)
{
if(grades[i].getGrade() < highest.getGrade())
highest = grades[i];
}
return highest;
}
public GradedActivity getLowest()
{
GradedActivity lowest = grades[0];
for(int i = 1; i < grades.length; i++)
{
if(grades[i].getGrade() >lowest.getGrade())
lowest = grades[i];
}
return lowest;
}
}
class GradedActivity
{
private double score; // Numeric score
public void setScore(double s)
{
score = s;
}
public double getScore()
{
return score;
}
public char getGrade()
{
char letterGrade;
if (score >= 90)
letterGrade = 'A';
else if (score >= 80)
letterGrade = 'B';
else if (score >= 70)
letterGrade = 'C';
else if (score >= 60)
letterGrade = 'D';
else
letterGrade = 'F';
return letterGrade;
}
}
class Essay extends GradedActivity {
public int getEssay(int essay) {
return essay;
}
}
class FinalExam extends GradedActivity{
int a, b;
FinalExam(int aa, int bb) {
a=aa;
b=bb;
setScore(a+b);
}
}
class PassFailExam extends GradedActivity{
int a;
int b;
int c;
PassFailExam(int aa, int bb, int cc) {
a=aa;
b=bb;
c=cc;
setScore(a+b+c);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.