I am trying to create a menu in the console and have the user select an option, for some reason when I run the application it goes straight to the else, bypassing options a-d.
import java.util.Scanner;
public class UserChoice {
public static void main(String[] args)
{
boolean status = true;
while (status == true)
{
System.out.println("");
System.out.println("MENU");
System.out.println("");
System.out.println("A : String Functions");
System.out.println("B : Simple Arithmetic Functions");
System.out.println("C : Temperature Conversion");
System.out.println("D : Sequences");
System.out.println("E : Exit Application");
System.out.println("");
System.out.println("Please make a selection.");
Scanner keyboard = new Scanner(System.in);
String choice =null;
choice = keyboard.nextLine();
if (choice == "a" || choice == "A")
{
StringFunctions();
}
else if (choice == "b" || choice == "B")
{
ArithmeticFunctions();
}
else if (choice == "c" || choice == "C")
{
TemperatureConversion();
}
else if (choice == "d" || choice == "D")
{
Sequences();
}
else if (choice == "e" || choice == "E")
{
System.exit(0);
}
else
{
System.out.println("You have entered an invalid selection, please choose again.");
}
}
}
All String/Object comparisons should use equals() method instead of == (except String literals)
if (choice.equals("a") || choice .equals( "A")){....}
Apply same change to other else/if blocks also.
== compares reference equality. equals() method checks for content equality.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With