Java - 计算总成本和未知项目数

时间:2013-12-11 01:04:23

标签: java

我在这里有一个任务:用方法moviefee()定义一个PayPerView类,计算租借的电影的月费。该方法应该采用一个参数来表示租用的电影数量,并将费用返回为双倍。

每部电影的租赁费为6.99美元。每月租金超过10的优惠客户可享受5%的折扣。

到目前为止,这是我的代码:

public class PayPerView {

public static void main(String [] args){


}
public static double moviefee(int n){

    double fee = 6.99;
    double total= n*fee;

    System.out.println("Your balance due this month is" + total);   

    //return 6.99*n * ((n>10) ? 0.95:1);

}}

我知道这很糟糕,我很抱歉你可以忽略我注释掉的最后一行代码,因为我要重做它并把它变成if语句。我想也许我应该使用阵列,但我不能对吗?因为我不知道有多少电影会被租用?我应该使用arraylist来获取租借的电影数量吗?

3 个答案:

答案 0 :(得分:1)

实际上你注释掉的那条线看起来几乎就是你要做的事情。它有什么特别的错误吗?

如果你真的需要在控制台输出结果......

final double fee = 6.99;
double total = n * fee * (n > 10 ? .95 : 1.0);

System.out.println("Your balance due this month is" + total);

return total;

答案 1 :(得分:0)

如果您没有任何数据,我不明白您为什么要使用ArrayList

你可能想尝试这些方面:

double total = n * fee;
if (n > 10) {
  total *= 0.95;
}

我也看到你想使用三元运算符,所以你可以用

替换上面的代码块
double total = n * fee * (n > 10 ? 0.95 : 1.0);

答案 2 :(得分:0)

你走在正确的轨道上

public static double moviefee(int n){

    double fee = 6.99;
    double total;
    if(n <= 10){
        total= n*fee;
    }
    else{
        total= n*fee - (n*fee*0.05); //5 percent discount
    }

    System.out.println("Your balance due this month is" + total);   

    return total;

}

修改:已添加double total;