Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use switch case as conditional statement in Java

I am trying to use switch case for selecting out conditions based on variable, but I'm getting error. What would be the correct process to do so? Is it possible using switch case, or should i use nested iffs?

public class Grader {
   // no attributes required
    public Grader() {
// no code required
}


public String grade(int mark) {
    String grade = null;
// code to determine grade goes here
    switch (mark){
        //For marks 85-100, Grade is HD
        case ((100>=mark>=85)):
            grade="HD";
            break;
        //For marks 75-84, Grade is D
        case (mark>=75 && mark<=84):
            grade="D";
            break;
        //For marks 65-74, Grade is C
        case (mark>=65 && mark<=74):
            grade="C";
            break;
        //For marks 50-64, Grade is P
        case (mark>=50 && mark<=64):
            grade="P";
            break;
        //For marks 49-0, Grade is HD
        case (mark<=49 && mark>=0):
            grade="F";
            break;






    }
    return grade;
}
public boolean pass(int mark) {
    boolean pass = false;
// code to determine pass goes here

    return pass;
    } 
}

I

like image 948
Dev Bingo Avatar asked Apr 23 '26 18:04

Dev Bingo


1 Answers

Switch only takes constant values in it's cases. You cannot add expressions in cases which evaluate run time.

The best here is to go with traditional if-else-if.

 public String grade(int mark) {
        String grade = null;
        // code to determine grade goes here
        if (mark >= 100 && mark <= 85) {
            grade = "HD";
        } else if (mark >= 75 && mark <= 84) {
            grade = "D";
        } else if (mark >= 65 && mark <= 74) {
            grade = "C";
        } else if (mark >= 50 && mark <= 64) {
            grade = "P";
        } else if (mark <= 49 && mark >= 0) {
            grade = "F";
        } else {
            grade = "Not found";
        }
        return grade;
    }
like image 127
Suresh Atta Avatar answered Apr 25 '26 08:04

Suresh Atta



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!