I am new to Java and I am not too familiar with the syntax. I've been working on a program to convert String inputs into a Numeric output (Letter Grades to Numeric) and I keep seeing the string I enter printed to the terminal although it is only able to print double values. Program is below:
Scanner lettGradein = new Scanner(System.in);
System.out.println("Enter a letter grade: ");
String lettGrade = lettGradein.nextLine();
// public
if (lettGrade == "A" && lettGrade.substring(0,1) == "+"){
double initialgradeStep = 4;
double finalgradeOut = initialgradeStep;
System.out.println("Your Grade is equal to: " + finalgradeOut);
}
else if (lettGrade == "B" && lettGrade.substring(0,1) == "+"){
double initialgradeStep = 3;
double finalgradeOut = initialgradeStep + 0.3;
System.out.println("Your Grade is equal to: " + finalgradeOut);
}
else if (lettGrade == "C" && lettGrade.substring(0,1) == "+"){
double initialgradeStep = 2;
double finalgradeOut = initialgradeStep + 0.3;
System.out.println("Your Grade is equal to: " + finalgradeOut);
}
else if (lettGrade == "D" && lettGrade.substring(0,1) == "+"){
double initialgradeStep = 1;
double finalgradeOut = initialgradeStep + 0.3;
System.out.println("Your Grade is equal to: " + finalgradeOut);
}
else if (lettGrade == "A" && lettGrade.substring(0,1) == "-"){
double initialgradeStep = 4;
double finalgradeOut = initialgradeStep;
System.out.println("Your Grade is equal to: " + finalgradeOut);
}
else if (lettGrade == "B" && lettGrade.substring(0,1) == "-"){
double initialgradeStep = 3;
double finalgradeOut = initialgradeStep - 0.3;
System.out.println("Your Grade is equal to: " + finalgradeOut);
}
else if (lettGrade == "C" && lettGrade.substring(0,1) == "-"){
double initialgradeStep = 2;
double finalgradeOut = initialgradeStep - 0.3;
System.out.println("Your Grade is equal to: " + finalgradeOut);
}
else if (lettGrade == "D" && lettGrade.substring(0,1) == "-"){
double initialgradeStep = 1;
double finalgradeOut = initialgradeStep - 0.3;
System.out.println("Your Grade is equal to: " + finalgradeOut);
}
else if (lettGrade == "A"){
double initialgradeStep = 4.0;
System.out.println("Your Grade is equal to: " + initialgradeStep);
}
else if (lettGrade == "B"){
double initialgradeStep = 3.0;
System.out.println("Your Grade is equal to: " + initialgradeStep);
}
else if (lettGrade == "C"){
double initialgradeStep = 2.0;
System.out.println("Your Grade is equal to: " + initialgradeStep);
}
else if (lettGrade == "D"){
double initialgradeStep = 1.0;
System.out.println("Your Grade is equal to: " + initialgradeStep);
}
else if (lettGrade == "F"){
double initialgradeStep = 0;
System.out.println("Your Grade is equal to: " + initialgradeStep);
}
if (lettGrade == "F+"){
System.out.println("There is no F+ or F- Grade");
}
if (lettGrade == "F-"){
System.out.println("There is no F+ or F- Grade");
It is essentially a giant if else statement but there shouldn't be the output I am receiving. For example, when I enter A+, I see A+ printed to the console. Am I missing something? Any help greatly appreciated.