954,523 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Java Grading System

Hi I need help its actually working fine but i don't know how to put a control structure in knowing whether the input is wrong, example when i instruct user to input number it must be less than 100 if not error will show up that is only the last thing i need to finish my program thanks

package com.grade.domain;
import java.util.*;

public class Final {
static Scanner console = new Scanner(System.in);

    Final(double midterm) {
int q1 , q2 , q3, q4, ass1, ass2,finalGrade;
double totalQuiz, exam, totalAss, MG, TFG;

MG = midterm;
        System.out.println("    Finals    ");
       System.out.print("Enter Your Quiz Number 1 : [average] ");
    q1 = console.nextInt();
       System.out.print("Enter Your Quiz Number 2 : [average] ");
    q2 = console.nextInt();
       System.out.print("Enter Your Quiz Number 3 : [average] ");
    q3 = console.nextInt();
       System.out.print("Enter Your Quiz Number 4 : [average] ");
    q4 = console.nextInt();

    totalQuiz = (q1 + q2 + q3 + q4)/4 * .4;

        System.out.print("Enter Assignment Number 1: [average] ");
        ass1 = console.nextInt();
        System.out.print("Enter Assignment Number 2: [average] ");
        ass2 = console.nextInt();

        totalAss = (ass1 + ass2)/2 *.2;

        System.out.print("Enter Your Final Exam : [average] ");
        exam = console.nextInt();

        exam = exam * .4;

        TFG = totalQuiz + totalAss + exam;

       finalGrade = (int)(MG/3) + (int)(2*TFG/3);

      if (finalGrade >= 98 && finalGrade <=100)
            System.out.println("Your Final Grade is : 1.00");
        else if(finalGrade >= 95 && finalGrade <= 97)
            System.out.println("Your Final Grade is : 1.25");
      else if (finalGrade >= 92 && finalGrade <= 94)
            System.out.println("Your Final Grade is : 1.50");
      else if (finalGrade >= 89 && finalGrade <= 91)
            System.out.println("Your Final Grade is : 1.75");
      else if (finalGrade >= 86 && finalGrade <= 88)
            System.out.println("Your Final Grade is : 2.00");
      else if (finalGrade >= 83 && finalGrade <= 85)
            System.out.println("Your Final Grade is : 2.25");
       else if (finalGrade >= 80 && finalGrade <= 82)
            System.out.println("Your Final Grade is : 2.50");
      else if (finalGrade >= 77 && finalGrade <= 79)
            System.out.println("Your Final Grade is : 2.75");
      else if (finalGrade >= 75 && finalGrade <= 76)
            System.out.println("Your Final Grade is : 3.00");
       else if (finalGrade >= 70 && finalGrade <= 74)
            System.out.println("Your Final Grade is : 4.00");
        else if (finalGrade < 70)
            System.out.println("Your Final Grade is : 5.00");
    }

}
vijaybrar
Newbie Poster
16 posts since Sep 2010
Reputation Points: 8
Solved Threads: 0
 
knowing whether the input is wrong


Your code has lots of if statements. Add some more to test if the input is wrong.

You could make a loop to get the user input, test if the input is valid and exit the loop if it is. If the input is bad, tell the user and loop back to ask the user again for some input:

begin loop
ask user for input
get input
test input
if input is good exit this loop
tell user input is bad
end loop // here the execution would go back to the begin loop point

NormR1
Posting Expert
Moderator
6,677 posts since Jun 2010
Reputation Points: 1,138
Solved Threads: 656
 

Thanks now i get it

vijaybrar
Newbie Poster
16 posts since Sep 2010
Reputation Points: 8
Solved Threads: 0
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: