如何编写交互式程序(参数和对象)

时间:2015-03-22 07:59:45

标签: java object parameters interactive

在我的CS课上,我们遇到了以下问题:

  

编写一个Java程序,其中包含一个名为pay的方法,该方法接受两个参数:员工小时工资的实数和员工当天工作小时数的整数。该方法应该返回当天向员工支付多少钱。

例如,来电pay(5.50, 6)应该返回33.0。 对于1.5以上的任何小时,员工应获得8倍正常小时工资的“加班”工资。例如,来电pay(4.00, 11)应该返回50.0(计算为(4.00 * 8) + (6.00 *3))。

在此程序的main方法中包含四次调用pay方法。两个调用,每个调用使用上面给出的示例数据和两个调用,每个调用使用您确定的数据。

到目前为止,这是我得到的所有我认为没有的东西:

import java.util.*;

public class Payjava {

    //obtain values
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        System.out.println(" Wage   : ");
        double wage = console.nextDouble();
        System.out.print(" Hours    :");
        int hours = console.nextInt();

        // compute results
        double overtime = 1.5;
        double overtime = hours > 8 * (wage * 1.5);
        wage = hours * wage;
    }
}

2 个答案:

答案 0 :(得分:2)

我建议首先将问题分解成小块。 这个问题要求一种计算员工薪酬的方法,因此这似乎是一个合理的起点。该问题为您提供了方法的名称以及应采取的参数:

  

...一种名为pay的方法,它接受两个参数:员工小时工资的实数和员工当天工作小时数的整数。该方法应该返回当天向员工支付多少钱。

所以你的方法看起来像这样:

public double pay(double hourlyWage, int numberOfHours) {
//TODO: complete
}

然后开始将逻辑添加到方法中 - 从没有加班的简单情况开始,然后返回并添加加班计算。

最后请注意,问题是在main方法中包含对pay方法的四次调用 - 所以你实际上并不需要提示输入。

答案 1 :(得分:0)

代码答案是这样的,

public class PayJava {

    public static void main(String[] argv) {
        PayJava test = new PayJava();
    double pay = test.pay(5.2,5);
    System.out.println("Pay 1= " + pay);
    pay = test.pay(4.00, 11);
    System.out.println("Pay 2= " + pay);
    pay = test.pay(5.50, 6);
    System.out.println("Pay 3= " + pay);
    pay = test.pay(7.50, 14);
    System.out.println("Pay 4= " + pay);
    }

    private double pay(double wage , int hours) {
         double overtime= 1.5;
         int otHrs = 0;
         int regHrs = 0;
         if(hours > 8 ) {
             regHrs = 8;
             otHrs = hours - regHrs;
             overtime = (wage*1.5)*otHrs;

         } else {
             regHrs = hours;
             overtime = 0;
         }
         wage = (wage*regHrs)+overtime;
        return wage;
    }
}