java - 执行java if/else语句时出现逻辑错误

标签 java

当代码执行时:

A.不允许您输入员工 ID 的字符串, 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);   

执行后看起来像这样:

您想查看哪位员工的毛收入? (A、B、C 或全部)? 您已选择员工: 工作时间:1.00 正常利率:1.00 超时率:1.00 工资总额:0.00

我认为我在 IF/Else 语句中做错了什么,因为它似乎根本不执行此代码。

谢谢 夏兰

最佳答案

替换

if (employeeID == "A")

if ("A".equals(employeeID))

要比较字符串,请始终使用equals(.)== 比较引用。

关于java - 执行java if/else语句时出现逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14654468/

相关文章:

非 HTTP 负载的 Java 容器选项

java - 为什么会跳秒??倒计时器

java - 没有wsdl的apache cxf客户端

java - 如何在maven中设置jdk的自定义版本?

java - 使用接口(interface)在 java 中运行时绑定(bind)

java - 使用循环生成整数

java - 周期字符串

java - @RefreshScope 似乎忽略了 Mockito 的模拟

java - 如何在用户登录 BlazeDS 时为 FlexSession 设置一个属性?

java - C# 从类型创建类的实例