C Programs Tutorials | IT Developer
IT Developer

Java Programs



Share with a Friend

Introduction to Java

Student Marks → Grade using nested switch - Java Program

import java.util.Scanner;

 

public class NestedSwitchGrade {

    public static void main(String[] args) {

 

        Scanner sc = new Scanner(System.in);

 

        System.out.print("Enter marks (0–100): ");

        int marks = sc.nextInt();

 

        // Outer switch: derive grade category (0–9)

        int gradeCategory = marks / 10; 

 

        switch (gradeCategory) {

 

            case 10:  // 100 marks falls here

            case 9:

                // Nested switch for 90–100

                switch (gradeCategory) {

                    case 10:

                    case 9:

                        System.out.println("Grade: A");

                        break;

                }

                break;

 

            case 8:

                // Nested switch for 80–89

                switch (gradeCategory) {

                    case 8:

                        System.out.println("Grade: B");

                        break;

                }

                break;

 

            case 7:

                // Nested switch for 70–79

                switch (gradeCategory) {

                    case 7:

                        System.out.println("Grade: C");

                        break;

                }

                break;

 

            case 6:

                // Nested switch for 60–69

                switch (gradeCategory) {

                    case 6:

                        System.out.println("Grade: D");

                        break;

                }

                break;

 

            case 5:

                // Nested switch for 50–59

                switch (gradeCategory) {

                    case 5:

                        System.out.println("Grade: E");

                        break;

                }

                break;

 

            default:

                // Nested switch for <50

                switch (gradeCategory) {

                    default:

                        System.out.println("Grade: F (Fail)");

                }

        }

 

        sc.close();

    }

}

Output

 
OUTPUT 1:
Enter marks (0–100): 92
Grade: A 

OUTPUT 2:
Enter marks (0–100): 76
Grade: C

OUTPUT 3: 
Enter marks (0–100): 45
Grade: F (Fail)

Explanation

1. int gradeCategory = marks / 10;

  • Converts marks to a group:
    • 90–100 → 9 or 10
    • 80–89 → 8
    • 70–79 → 7
    • 60–69 → 6
    • 50–59 → 5
    • Below 50 → (0–4)

2. Outer switch(gradeCategory)

Decides the range of grade.

3. Nested switch inside each case

The inner switch determines the final grade output.

Why nested switch?

  • Demonstrates switch inside another switch.
  • Good example for teaching nested decision structures.