执行java if/else语句的逻辑错误

dan*_*ush 0 java

代码执行时:

A.不允许您输入employeeID,B的字符串.完全绕过If/Else语句.

代码是:

    double salary = 0.0;
String employeeID;



System.out.println("\nWhich Employee would you like to see Gross Earning's of? (A, B, C, or ALL)?");
employeeID = input.nextLine();

//if else commnnad to chose which employee details required

if (employeeID == "A")
    {
    if (employeeA.getHours() > 40)
        {
        salary = (employeeA.getRate()*40) + employeeA.getOverTimeRate() * (employeeA.getHours() - 40);
        }
    else
        {
        salary = employeeA.getRate()*40;
        }
    }
    System.out.printf("You have chosen Employee: %s\nHours Worked: %.2f\nNormal Rate: %.2f\nOver Time Rate: %.2f\nGross Salary: %.2f\n", employeeID, employeeA.getHours(), employeeA.getRate(), employeeA.getOverTimeRate(), salary);   
Run Code Online (Sandbox Code Playgroud)

执行时看起来像这样:

您希望哪位员工看到总收入?(A,B,C或ALL)?您选择了员工:工作小时数:1.00正常工资:1.00随着时间的推移率:1.00工资总额:0.00

我认为我对IF/Else语句做了一些错误,因为它似乎根本不执行此代码.

谢谢Ciaran

MrS*_*h42 5

更换

if (employeeID == "A")
Run Code Online (Sandbox Code Playgroud)

通过

if ("A".equals(employeeID))
Run Code Online (Sandbox Code Playgroud)

要比较字符串总是使用equals(.).==比较参考文献.