I need with with a section of my assignment where it asks to take four first attempt
module results (i.e. all module average, ISM module average, number of compensentable
failed credits and number of outright failed modules) as parameters and returns the
degree classification (e.g. “distinction”, “merit”, “pass” or “fail”). Here is an example of
some of the parameters taken by the gradeDegree method: gradeDegree(44, 55, 14, 2).

The grading criteria is:

Distinction: a student must achieve the following at first attempt
i) A rounded credit weighted mean of at least 70 over all modules, and
ii) a rounded credit weighted mean of at least 70 in the Independent Study
module(s) taken, and
iii) no failed modules.
Merit: a student must achieve the following at first attempt
i) A rounded credit weighted mean of at least 60 over all modules, and
ii) a rounded credit weighted mean of at least 60 in the ISMs taken, and
iii) no more than 15 credits of Compensatable failed modules, and with no
module marks below 40
Pass: a student must achieve the following at the first attempt
i) A rounded credit weighted mean of at least 50 over all modules, and
ii) a rounded credit weighted mean of at least 50 in the ISMs taken, and
3
iii) no more than 30 credits of Compensatable failed modules, with no
module marks below 40
Fail: For students who do not pass on the first attempt there will be an opportunity for
a resit if the appropriate conditions are met. Students are entitled to reassessment in a
maximum of 30 credits-worth of failed modules provided that they have failed no
more than 60 credits with no more than 30 credits-worth of outright fail (i.e. module
marks less than 40).

What I am stuck on is how to organise the data for my method using if statements.

Can anyone help?

Recommended Answers

All 3 Replies

There's not really any "organisation of values" required in this spec.
You have 4 values as parameters and all the if tests use one or more of those values.
Can you explain your concern in more detail?

commented: Not to worry, I have solved the problem and managed to create the method. Thank you. +0

For the code I have written a method that takes in a certain value and will result in a grade, however I would like the option to have 0 included as a valid result. But the code I have written doesn't allow for it.

public int getValidModuleMark3 ()

{   Scanner input = new Scanner(System.in);

    int mark;
    System.out.println ("Enter number of compensentable failed credits in range 0 to 180");
    mark=input.nextInt();
     while (mark < 180) {

    System.out.println("Invalid mark !");

    System.out.println ("Enter number of compensentable failed credits in range 0 to 180");
          mark=input.nextInt();
        }
     return mark;   

  }

How can I allow 0 to be inputted?

Your code doesn't allow for any of the correct values except 180. If you want values inside that range you have to think about excluding the ones outside that range. something like this,
while (mark < 0 || mark > 180), wil allow all the marks from 0 to 180.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.