Hello I am working on a GradedActivity program in Java. I need to change some as
ID: 3773701 • Letter: H
Question
Hello I am working on a GradedActivity program in Java. I need to change some aspects of this program. Any need would be greatly appreicated!!!
I need to change:
1. The analyzable interface should have 14 prototypes
2. Course class should implement this interface.
3. My output needs to display all the information entered about each student
This program contains a bunch of classes which i have outlined below:
Anaylzable Interface:
package schoolmain;
public interface Analyzable
{
double getAverage();
GradedActivity getHighest();
GradedActivity getLowest();
}
Course Class:
package schoolmain;
public class Course {
private String courseName;
Student Students[];
private int numberofStudents;
public Course()
{
Students = new Student[100];
}
public Course(String courseName) {
this.courseName = courseName;
}
public void addStudent(Student student) {
Students[numberofStudents++] = student;
numberofStudents++;
}
public Student getStudent(int i) {
return Students[i];
}
public int getnumberofStudents() {
return numberofStudents;
}
public String getCourseName() {
return courseName;
}
public void dropStudent(String student) {
}
}
CourseGrades Class:
package schoolmain;
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;
}
}
Essay Class:
package schoolmain;
public class Essay extends GradedActivity {
public int getEssay(int essay) {
return essay;
}
}
Final Exam Class:
package schoolmain;
class FinalExam extends GradedActivity{
int a, b;
FinalExam(int aa, int bb) {
a=aa;
b=bb;
setScore(a+b);
}
}
Graded Activity Class:
package schoolmain;
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;
}
}
PassFailExam Class:
package schoolmain;
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);
}
}
Schoolmain Class:
package schoolmain;
public class SchoolMain
{
public static void main(String[] args)
{
CourseGrades g = new CourseGrades();
GradedActivity l = new GradedActivity();
l.setScore(85);
PassFailExam p = new PassFailExam(10, 2, 70);
Essay e;
e = new Essay();
e.setScore(94);
FinalExam fx = new FinalExam(50, 8);
g.setLab(l);
g.setPassFailExam(p);
g.setEssay(e);
g.setFinalExam(fx);
System.out.println(g.toString());
System.out.println("Average : "+ g.getAverage() );
System.out.println("Highest : "+ g.getHighest().getGrade());
System.out.println("Lowest : "+g.getLowest().getGrade());
}
}
Student Class:
package schoolmain;
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 Student(String first, String last, String email, int studentID) {
this.first = first;
this.last = last;
this.email = email;
this.studentID = studentID;
}
@Override
public String toString() {
return studentID+ " " + first + " " + last + " " + email;
}
public static void main(String[] args) {
int N = Integer.parseInt(args[0]);
Student[] students = new Student[N];
Scanner StdIn=new Scanner(System.in);
for (int i = 0; i < N; i++) {
String first = StdIn.next();
String last = StdIn.next();
String email = StdIn.next();
int studentID = StdIn.nextInt();
students[i] = new Student(first, last, email, studentID);
}
for (int i = 0; i < N; i++) {
for (int j = i; j > 0; j--) {
if (students[j].less(students[j-1])) {
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]);
}
}
private boolean less(Student student) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Explanation / Answer
Anaylzable Interface:
package schoolmain;
public interface Analyzable
{
double getAverage();
GradedActivity getHighest();
GradedActivity getLowest();
}
Course Class:
package schoolmain;
public class Course {
private String courseName;
Student Students[];
private int numberofStudents;
public Course()
{
Students = new Student[100];
}
public Course(String courseName) {
this.courseName = courseName;
}
public void addStudent(Student student) {
Students[numberofStudents++] = student;
numberofStudents++;
}
public Student getStudent(int i) {
return Students[i];
}
public int getnumberofStudents() {
return numberofStudents;
}
public String getCourseName() {
return courseName;
}
public void dropStudent(String student) {
}
}
CourseGrades Class:
package schoolmain;
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;
}
}
Essay Class:
package schoolmain;
public class Essay extends GradedActivity {
public int getEssay(int essay) {
return essay;
}
}
Final Exam Class:
package schoolmain;
class FinalExam extends GradedActivity{
int a, b;
FinalExam(int aa, int bb) {
a=aa;
b=bb;
setScore(a+b);
}
}
Graded Activity Class:
package schoolmain;
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;
}
}
PassFailExam Class:
package schoolmain;
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);
}
}
Schoolmain Class:
package schoolmain;
public class SchoolMain
{
public static void main(String[] args)
{
CourseGrades g = new CourseGrades();
GradedActivity l = new GradedActivity();
l.setScore(85);
PassFailExam p = new PassFailExam(10, 2, 70);
Essay e;
e = new Essay();
e.setScore(94);
FinalExam fx = new FinalExam(50, 8);
g.setLab(l);
g.setPassFailExam(p);
g.setEssay(e);
g.setFinalExam(fx);
System.out.println(g.toString());
System.out.println("Average : "+ g.getAverage() );
System.out.println("Highest : "+ g.getHighest().getGrade());
System.out.println("Lowest : "+g.getLowest().getGrade());
}
}
Student Class:
package schoolmain;
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 Student(String first, String last, String email, int studentID) {
this.first = first;
this.last = last;
this.email = email;
this.studentID = studentID;
}
@Override
public String toString() {
return studentID+ " " + first + " " + last + " " + email;
}
public static void main(String[] args) {
int N = Integer.parseInt(args[0]);
Student[] students = new Student[N];
Scanner StdIn=new Scanner(System.in);
for (int i = 0; i < N; i++) {
String first = StdIn.next();
String last = StdIn.next();
String email = StdIn.next();
int studentID = StdIn.nextInt();
students[i] = new Student(first, last, email, studentID);
}
for (int i = 0; i < N; i++) {
for (int j = i; j > 0; j--) {
if (students[j].less(students[j-1])) {
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]);
}
}
private boolean less(Student student) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.