-1

簡単な計算をしてみました。最後の if-else ステートメントで「2 倍の入場料」を減算する方法がわかりません。

減算記号を指していると、次のエラー メッセージが表示されます: operator - cannot be applied to java.lang.String,double

助けてください。ありがとう。


import java.text.*;
import java.util.Scanner;


class IMC {
    public static void main(String[] args) {

    int numEmployees = 0;
    double costPerAttendee = 0.00;
    int employeeDiscount;
    double admissionPrice = 0.00;

    Scanner keyboard = new Scanner (System.in);

    System.out.print("Enter amount of employees attending: ");
    numEmployees = keyboard.nextInt();

    System.out.print("Have any employees attended previously? \n For: YES=1 or NO=2"
                        );
    employeeDiscount = keyboard.nextInt();



    if (numEmployees == 1)  { admissionPrice = 695.00;


    } else if (numEmployees == 2 || numEmployees ==  3 ||numEmployees ==  4) { admissionPrice = 545.00;


    } else if (numEmployees >= 5 ||numEmployees >= 6 ||numEmployees >= 7 ||numEmployees >= 8){ admissionPrice = 480.00;


    }  else if (numEmployees >= 9)  { admissionPrice = 395.00;

    }

        System.out.print("The cost per attendee is: " + admissionPrice );


  if (employeeDiscount == 1){
        System.out.print("Total price after discount (15%) is : " + admissionPrice - (admissionPrice * 0.15) );

    } else if (employeeDiscount == 2) {
            System.out.print("No discount. Total price is still: " + admissionPrice);
    }   


    }
}
4

3 に答える 3

2

を括弧で囲みます(admissionPrice - (admissionPrice * 0.15) )"Total price after discount (15%) is : "現在、減算を試みる前に、admissionPrice を に連結しています。

于 2013-02-04T02:02:42.293 に答える
2

ステートメント内の+演算子がprintln()優先され、に変換admissionPriceされStringます。

算術演算を括弧で囲みます。

于 2013-02-04T02:02:49.407 に答える
1
System.out.print("Total price after discount (15%) is : " + (admissionPrice - (admissionPrice * 0.15)));
                                                            ^                                        ^

()優先順位を修正するために追加する必要があります。そうしないと、エラーが示すように、からでadmissionPriceはなく、形成された文字列から減算しています"To....:" + admissionPrice

于 2013-02-04T02:02:28.080 に答える