0

コードがそれを実行すると:

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);   

実行すると、次のようになります。

どの従業員の総収入を確認したいですか? (A、B、C、またはすべて)? 選択した従業員: 勤務時間: 1.00 通常レート: 1.00 時間外レート: 1.00 総給与: 0.00

このコードをまったく実行していないように見えるので、IF/Else ステートメントで何か間違ったことをしたと思います。

ありがとうシアラン

4

3 に答える 3

5

交換

if (employeeID == "A")

if ("A".equals(employeeID))

文字列を比較するには、常に。を使用しますequals(.)==参照を比較します。

于 2013-02-01T20:31:18.490 に答える
0

に置き換える必要が=ありequalsます。=記号で文字列を比較することはできません

于 2013-02-01T20:31:38.150 に答える
0

とった。emoloyeeID = input.nextLine(); nextDouble メソッドから残った戻り文字を割り当てていました。

'input.nextLine(); を入力します。" 次の Doubke メソッドはそれを解決したようです。

フィードバックのための Ta

于 2013-02-04T00:34:03.367 に答える