Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package csci.grade.calculator;
- import java.util.Scanner;
- import java.text.DecimalFormat;
- import java.text.*;
- /**
- *system.out.printf("%-16s | %-7s | %-9s | %-7s | %-5s \n");
- * component weight possible actual score
- * system.out.println(=========---------------");
- *
- * system.out.printf("%-16s | %6d%% | %9d | %7d | %5.2f\n", "exercises", exerweight, exerpos, exeract, exerscore);
- *
- *
- *
- *
- * @author c0re
- */
- //public class Calculations {
- //public static void weight(Scanner input){
- //here calculate X/Y and return Z
- public class CsciGradeCalculator {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- Scanner keyboard = new Scanner(System.in);//import scanner
- //prompts
- System.out.print("CS181 Grade Calculator\n\n");
- System.out.print("Please enter possible & actual points for exercises: ");
- double exercisesPossible = keyboard.nextDouble();
- double exercisesActual = keyboard.nextDouble();
- System.out.print("Please enter possible & actual points for feedback: ");
- double feedbackPossible = keyboard.nextDouble();
- double feedbackActual = keyboard.nextDouble();
- System.out.print("Please enter possible & actual points for labs: ");
- double labsPossible = keyboard.nextDouble();
- double labsActual = keyboard.nextDouble();
- System.out.print("Please enter possible & actual points for programs: ");
- double programsPossible = keyboard.nextDouble();
- double programsActual = keyboard.nextDouble();
- System.out.print("Please enter possible & actual points for exams: ");
- double examsPossible = keyboard.nextDouble();
- double examsActual = keyboard.nextDouble();
- System.out.print("Please enter possible & actual points for final: ");
- double finalPossible = keyboard.nextDouble();
- double finalActual = keyboard.nextDouble();
- keyboard.close();
- // weights: Homework (5%), FeedBack Surveys(5%),
- // Class Labs(10%), Programs(20%), Exams(30%), and Final(30%).
- double exercisesWeight = 5;
- double feedbackWeight = 5;
- double labsWeight = 10;
- double programsWeight = 20;
- double examsWeight = 30;
- double finalWeight = 30;
- //calculate
- double exercisesResults = ((exercisesActual / exercisesPossible) * 100) * (exercisesWeight/100);
- double feedbackResults = ((feedbackActual / feedbackPossible) * 100) * (feedbackWeight/100);
- double labsResults = ((labsActual / labsPossible) * 100) * (labsWeight/100);
- double programsResults = ((programsActual / programsPossible) * 100)* (programsWeight/100);
- double examsResults = ((examsActual / examsPossible) * 100)* (examsWeight/100);
- double finalResults = ((finalActual / finalPossible) * 100)* (finalWeight/100);
- double courseAverage = (exercisesResults + feedbackResults + labsResults + programsResults + examsResults + finalResults);
- // penalty calculationzz
- double programPenalty;
- double finalPenalty;
- double progPenaltyThreshold = .145;
- // if (programResults <= progPenaltyThreshold){
- // double pen1Final =
- // }
- //calculate grade letter
- String letter = "A";
- if(courseAverage>=92.5){
- letter="A";
- }
- else if(courseAverage>=89.5){
- letter="A-";
- }
- else if(courseAverage>=86.5){
- letter="B+";
- }
- else if(courseAverage>=82.5){
- letter="B";
- }
- else if(courseAverage>=79.5){
- letter="B-";
- }
- else if(courseAverage>=76.5){
- letter="C+";
- }
- else if(courseAverage>=72.5){
- letter="C";
- }
- else if(courseAverage>=69.5){
- letter="C-";
- }
- else if(courseAverage>=66.5){
- letter="D+";
- }
- else if(courseAverage>=59.5){
- letter="D";
- }
- else{
- letter="F";
- }
- //format
- DecimalFormat whole = new DecimalFormat("#");
- DecimalFormat twoPlaces = new DecimalFormat("#.##");
- //results
- System.out.println("\nComponent | Weight | Possible | Actual | Score");
- System.out.printf("===========================================================\n");
- System.out.printf("Exercises | %s%% | %s | %s | %s \n", whole.format(exercisesWeight), whole.format(exercisesPossible), whole.format(exercisesActual), twoPlaces.format(exercisesResults));
- System.out.printf("Feedback | %s%% | %s | %s | %s \n", whole.format(feedbackWeight), whole.format(feedbackPossible), whole.format(feedbackActual), twoPlaces.format(feedbackResults));
- System.out.printf("Labs | %s%% | %s | %s | %s \n", whole.format(labsWeight), whole.format(labsPossible), whole.format(labsActual), twoPlaces.format(labsResults));
- System.out.printf("Programs | %s%% | %s | %s | %s \n", whole.format(programsWeight), whole.format(programsPossible), whole.format(programsActual), twoPlaces.format(programsResults));
- System.out.printf("Exams | %s%% | %s | %s | %s \n", whole.format(examsWeight), whole.format(examsPossible), whole.format(examsActual), twoPlaces.format(examsResults));
- System.out.printf("Final | %s%% | %s | %s | %s \n", whole.format(finalWeight), whole.format(finalPossible), whole.format(finalActual), twoPlaces.format(finalResults));
- System.out.printf("Program Penalty |----------------------------| 0 \n");
- System.out.printf("Final Penalty |----------------------------| 0 \n");
- System.out.printf("============================================================\n");
- System.out.printf("Course Average |----------------------------| %.2f %s\n", courseAverage, letter);
- //Weight(keyboard); uses method defined above
- // possible actual
- // XXX XXX
- // 0123456
- //
- // double exercisesP = exercisesInput.substring(0,3);
- // double exercisesA = exercisesInput.substring(4);
- //double exercisesP = exercisesInput.substring(0,2);
- //double exercisesA = exercisesInput.substring(4);
- //System.out.printf("%s %s", exercisesP, exercisesA);
- // double execersisesPossible = exercisesInput.substring(0,position);
- // position = exercisesInput.indexOf(' ');
- // String execersisesPossible = exercisesInput.substring(0,position);
- // position = exercisesInput.indexOf(' ');
- }//main
- }//class
Add Comment
Please, Sign In to add comment