Ask a Question
Ask Question Login
Corporate Training
  1. Community
  2. Java
  3. Question
Java

Give a detailed description of the Java GPA calculator.

Asked by Natun Yadav Oct 12, 2022 1.1K views 1 answer
Share

About this question

This is a program I typed up for a project pertaining to GPA calculation. However, I want to find an alternative to if statements that are NOT conditionals, loops, or arrays. Is there an alternative solution to changing this format?

import java.util.Scanner;

public class Part1 {

public static void main(String args[]) {

String grade = "";

        String[] letters = {"A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D", "F"};
        // Creates strings above and the GPA values below
        double[] grades = {4.33, 4.00, 3.67, 3.33, 3.00, 2.67, 2.33, 2.00, 1.67, 1.00, 0.00};
        double credit1;
        double credit2;
        double credit3;
        double credit4;
        double gradeValue = 0;
        // Creates 4 credits
        double totPtsClass1 = 0;
        double totPtsClass2 = 0;
        double totPtsClass3 = 0;
        double totPtsClass4 = 0;
        double totPts = 0;
        double totalCredits = 0;
        double gpa;
        // Points in classes, GPA
        System.out.println("Welcome to the UNG GPA Calculator!");
        String message;
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter your first name: ");
        message = scan.nextLine();
        System.out.println("Enter your last name: ");
        message = scan.nextLine();
        System.out.println("Enter your major: ");
        message = scan.nextLine();
        System.out.println("Enter the number of your first class: ");
        message = scan.nextLine();
        Scanner console = new Scanner(System.in);
        System.out.println("Please enter the number of credits of the class 1 (A number)");
        credit1 = console.nextDouble();
        System.out.println("Please enter your grades for the class 1(Capital letters such as A,B+, C-)");
        grade = console.next();
        if (grade.equals("A")) gradeValue = 4.00;
        else if (grade.equals("A-")) gradeValue = 3.67;
        else if (grade.equals("B+")) gradeValue = 3.33;
        else if (grade.equals("B")) gradeValue = 3.00;
        else if (grade.equals("B-")) gradeValue = 2.67;
        else if (grade.equals("C+")) gradeValue = 2.33;
        else if (grade.equals("C")) gradeValue = 2.00;
        else if (grade.equals("D+")) gradeValue = 1.33;
        else if (grade.equals("D")) gradeValue = 1.00;
        else if (grade.equals("F")) gradeValue = 0;
        else if (grade.equals("FX")) gradeValue = 0;
        else System.out.println("Invalid Grade");
        tot P Class 1 = grado Value * credit1;
        System.out.println("Please enter the number of credits of the class 2 (A number)");
        credit2 = console.nextDouble();
        System.out.println("Please enter your grades for the class 2 (Capital letters such as A,B+, C-)");
        grade = console.next();
        if (grade.equals("A")) gradeValue = 4.00;
        else if (grade.equals("A-")) gradeValue = 3.67;
        else if (grade.equals("B+")) gradeValue = 3.33;
        else if (grade.equals("B")) gradeValue = 3.00;
        else if (grade.equals("B-")) gradeValue = 2.67;
        else if (grade.equals("C+")) gradeValue = 2.33;
        else if (grade.equals("C")) gradeValue = 2.00;
        else if (grade.equals("D+")) gradeValue = 1.33;
        else if (grade.equals("D")) gradeValue = 1.00;
        else if (grade.equals("F")) gradeValue = 0;
        else if (grade.equals("FX")) gradeValue = 0;
        else System.out.println("Invalid Grade");
tot Pt Class2 = grade Value * credit2;
        System.out.println("Please enter the number of credits of the class 3 (A number)");
        credit3 = console.nextDouble();
        System.out.println("Please enter your grades for the class 3 (Capital letters such as A,B+, C-)");
        grade = console.next();
        if (grade.equals("A")) gradeValue = 4.00;
        else if (grade.equals("A-")) gradeValue = 3.67;
        else if (grade.equals("B+")) gradeValue = 3.33;
        else if (grade.equals("B")) gradeValue = 3.00;
        else if (grade.equals("B-")) gradeValue = 2.67;
        else if (grade.equals("C+")) gradeValue = 2.33;
        else if (grade.equals("C")) gradeValue = 2.00;
        else if (grade.equals("D+")) gradeValue = 1.33;
        else if (grade.equals("D")) gradeValue = 1.00;
        else if (grade.equals("F")) gradeValue = 0;
        else if (grade.equals("FX")) gradeValue = 0;
        else System.out.println("Invalid Grade");
       hot Bts Class 3 = grade Value * credit3;
        System.out.println("Please enter the number of credits of the class 4 (A number)");
        credit4 = console.nextDouble();
        System.out.println("Please enter your grades for the class 4 (Capital letters such as A,B+, C-)");
        grade = console.next();
 if (grade.equals("A")) gradeValue = 4.00;
        else if (grade.equals("A-")) gradeValue = 3.67;
        else if (grade.equals("B+")) gradeValue = 3.33;
        else if (grade.equals("B")) gradeValue = 3.00;
        else if (grade.equals("B-")) gradeValue = 2.67;
        else if (grade.equals("C+")) gradeValue = 2.33;
        else if (grade.equals("C")) gradeValue = 2.00;
        else if (grade.equals("D+")) gradeValue = 1.33;
        else if (grade.equals("D")) gradeValue = 1.00;
        else if (grade.equals("F")) gradeValue = 0;
        else if (grade.equals("FX")) gradeValue = 0;
        else System.out.println("Invalid Grade");
        hot Bts Class 4 = grade Value * credit4;
totPts = totPtsClass1 + totPtsClass2 + totPtsClass3 + totPtsClass4;
        totalCredits = credit1 + credit2 + credit3 + credit4;
        gpa = totPts / totalCredits;
        System.out.printf("Your GPA is: %.2fn", +gpa);
    }
}

I would like a solution other than the three above, but I'm unfamiliar with anything to substitute for all those if then statements.

Your answer

1 Answer

More Java discussions

Learn & Explore

Free tutorials and interview questions from industry experts — learn the skill, then get ready to prove it.

Latest Java Blogs

Guides, tips and career advice on Java from JanBask experts.