diff --git a/src/main/java/sig/oss/.Grader.java.swp b/src/main/java/sig/oss/.Grader.java.swp new file mode 100644 index 0000000..e736c1e Binary files /dev/null and b/src/main/java/sig/oss/.Grader.java.swp differ diff --git a/src/main/java/sig/oss/Grader.java b/src/main/java/sig/oss/Grader.java index 0a29daf..12b049b 100644 --- a/src/main/java/sig/oss/Grader.java +++ b/src/main/java/sig/oss/Grader.java @@ -1,15 +1,24 @@ package sig.oss; //Initial Grader Project class Grader { + final static int MAX_SCORE = 50; static public Grade calculate_grade(int mid, int fin) { int tot; Grade grade=Grade.F; tot = mid+fin; - if (tot>=80) grade=Grade.A; - else if (tot>=70)grade=Grade.B; - else if (tot>=60)grade=Grade.C; - else grade=Grade.F; + if(check_score(mid) && check_score(fin)){ + tot = mid+fin; + if (tot>=80) grade=Grade.A; + else if (tot>=70)grade=Grade.B; + else if (tot>=60)grade=Grade.C; + else grade=Grade.F; + } return grade; } + + private static boolean check_score(int score){ + if(score>=0 && score <=MAX_SCORE) return true; + else throw new InvalidInputException(); + } } diff --git a/src/main/java/sig/oss/InvalidInputException.java b/src/main/java/sig/oss/InvalidInputException.java new file mode 100644 index 0000000..ba0559f --- /dev/null +++ b/src/main/java/sig/oss/InvalidInputException.java @@ -0,0 +1,5 @@ +package sig.oss; + +class InvalidInputException extends RuntimeException{ +} +