Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.48 KB | None | 0 0
  1. import java.util.*;
  2. import java.text.DecimalFormat;
  3.  
  4. public class Prog8
  5. {
  6.   public static void main(String [] args)
  7.   {
  8.  
  9.     final int STUD_ID_MAX = 9999;
  10.     final int STUD_ID_MIN = 1111;
  11.     final int EXAM_SCORE_MAX = 100;
  12.     final int EXAM_SCORE_MIN = 0;
  13.  
  14.     String studName;
  15.     String Grade;
  16.     int studID;
  17.     int Exam;
  18.     int invalidCounter = 0;
  19.     int validCounter = 0;
  20.     int examMin = 100;
  21.     int examMax = 0;
  22.     int examSum = 0;
  23.     double avg;
  24.     double validPercent;
  25.     double invalidPercent;
  26.  
  27.  
  28.     Scanner inFile = new Scanner(System.in);
  29.  
  30.     System.out.println("~~~Exam Report~~~\n");
  31.     System.out.println("Student ID  N a m e  Exam  Grade");
  32.     System.out.println("----------  -------  ----  -----");
  33.  
  34.     while(inFile.hasNextInt())  //Beginning of loop
  35. {
  36.     studID = inFile.nextInt();
  37.     studName = inFile.next();
  38.     Exam = inFile.nextInt();
  39.     inFile.nextLine();
  40.  
  41.     if ((studID < STUD_ID_MIN || studID > STUD_ID_MAX) //Invalid Data
  42.       || (Exam < EXAM_SCORE_MIN || Exam > EXAM_SCORE_MAX))  {
  43.  
  44.      invalidCounter++;
  45.      System.out.println(studID + "\t" + studName + "\t" + Exam + "\t" + "~~~ Invalid");
  46.  
  47.   } else {  //Valid data, beginning of if/else to decide score
  48.  
  49.     if (Exam == 100 && Exam>= 97)  {
  50.       Grade = "A+";
  51.  
  52.   } else if (Exam <= 96 && Exam > 93)  {
  53.       Grade = "A";
  54.  
  55.   } else if (Exam <= 93 && Exam > 89)  {
  56.       Grade = "A-";
  57.  
  58.   } else if (Exam <= 89 && Exam >= 87)  {
  59.       Grade = "B+";
  60.  
  61.   } else if (Exam <= 86 && Exam > 83)  {
  62.       Grade = "B";
  63.  
  64.   } else if (Exam <= 83 && Exam > 79)  {
  65.       Grade = "B-";
  66.  
  67.   } else if (Exam <= 79 && Exam >= 77)  {
  68.       Grade = "C+";
  69.  
  70.   } else if (Exam <= 76 && Exam > 73)  {
  71.       Grade = "C";
  72.  
  73.   } else if (Exam <= 73 && Exam > 69)  {
  74.       Grade = "C-";
  75.  
  76.   } else if (Exam <= 69 && Exam >= 67)  {
  77.       Grade = "D+";
  78.  
  79.   } else if (Exam <= 66 && Exam > 63)  {
  80.       Grade = "D";
  81.  
  82.   } else if (Exam <= 63 && Exam > 59)  {
  83.       Grade = "D-";
  84.  
  85.   } else {
  86.       Grade = "F";
  87.     }
  88.  
  89.    validCounter++;
  90.    examSum += Exam;
  91.  
  92.   System.out.println(studID + "\t" + studName + "\t" + Exam + "\t" + Grade);
  93.   }  //End of if/else to decide score
  94.  
  95.     if (Exam <= EXAM_SCORE_MAX && Exam >= EXAM_SCORE_MIN)  { //Deciding max/min scores
  96.       if (Exam > examMax) {
  97.          examMax = Exam;
  98.     } if (Exam < examMin)  {
  99.          examMin = Exam;
  100.  
  101.   } else { }
  102.     }  //End of nested if and if/else to decide max/min
  103.   }  //End of loop
  104.  
  105.  if (validCounter != 0)  {
  106.   avg = (examSum / validCounter);
  107.   validPercent = ((validCounter / (validCounter + invalidCounter)) * 100.0);
  108.   invalidPercent = ((invalidCounter / (validCounter + invalidCounter)) * 100.0);
  109.  
  110.     System.out.println(" ");
  111.     System.out.println("Exam MAX is: " + examMax);
  112.     System.out.println("Exam MIN is: " + examMin);
  113.     System.out.println(" ");
  114.     System.out.println("Exam Average is: " + avg);
  115.     System.out.println("Number of valid exams: " + validCounter);
  116.     System.out.println("Number of invalid exams: " + invalidCounter);
  117.     System.out.println("Valid Data: " + validPercent + "%");
  118.     System.out.println("Invalid Data: " + invalidPercent + "%");
  119.  
  120.   } else {
  121.     System.out.println(" ");
  122.     System.out.println("No valid data! No Max, Min, Avg for exam(s)!");
  123.     System.out.println("Number of valid exams: " + validCounter);
  124.     System.out.println("Number of invalid exams: " + invalidCounter);
  125.   }
  126.   System.out.println("~~~end~~~");
  127.  }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement