-6

オブジェクト指向プログラミング.. メイン メソッドに問題があり、シンボルが見つからないと表示されます。なぜ?

この部分で:

double grossPay = payroll.getHoursWorked * payroll.getPayRate * payroll.getTaxRate ;

私が知っているのは、ここの基本クラスですでに宣言していることだけです:

public class Exercise1 {
    private long hoursWorked;
    private double payRate;
    private double taxRate;   


    public void setHoursWorked(long temp){
        hoursWorked = temp;
    }

    public void setPayRate (double temp){
        payRate = temp;
    }

    public void setTaxRate (double temp){
        taxRate = temp;
    }

    public double getTaxRate (){
        return(taxRate);
    }

    public double getPayRate (){
         return(payRate);
    }

    public double getHoursWorked (){
        return(hoursWorked);
    }
}

これが私のメインクラスです:

public class payroll{
    public static void main(String args[]){
        Exercise1 payroll = new Exercise1();
        payroll.setHoursWorked(28);
        payroll.setPayRate (120.00);
        payroll.setTaxRate (0.30);

        double grossPay = payroll.getHoursWorked * payroll.getPayRate * payroll.getTaxRate;
        System.out.println("Gross pay is:"+ grossPay);   
    }
}

なぜ「シンボルが見つかりません」と尋ね続けるのですか? 助けてください..私はプログラミングが初めてです:(

4

6 に答える 6

4

getHoursWorkedgetPayRateなどはメソッドであり、パラメーターを渡さなくても、呼び出すには空の括弧が必要です。

それらをgetHoursWorked()に置き換えると、getPayRate()笑ってしまうでしょう。

于 2013-01-07T13:08:16.623 に答える
3

これを使って

double grossPay = payroll.getHoursWorked() * payroll.getPayRate() * payroll.getTaxRate() ;

メソッドなのでgetHoursWorked、このようにメソッドを呼び出す必要がありますpayroll.getHoursWorked()

于 2013-01-07T13:08:04.167 に答える
3

関数呼び出しの最後に () を忘れました。

double grossPay = payroll.getHoursWorked() * payroll.getPayRate() * payroll.getTaxRate();
于 2013-01-07T13:07:29.670 に答える
1

各 func 呼び出しの最後に () を置きます。

于 2013-01-07T13:09:00.817 に答える
1

これを試して:

double grossPay = payroll.getHoursWorked() * payroll.getPayRate() * payroll.getTaxRate() ;
于 2013-01-07T13:09:29.940 に答える
1

() を使用してメソッドを呼び出す必要があります。ブラケットはメソッドを呼び出します。お気に入り-

payroll.getHoursWorked() * payroll.getPayRate()
于 2013-01-07T13:11:43.423 に答える