在Java中计算方法/函数中的totalPrice

时间:2011-10-27 15:42:52

标签: java eclipse

Iam在Java中完成学校作业,我需要一些帮助才能在方法中进行一些计算。 Iam习惯了PHP,我在代码中添加了很多我的知识,但这个我只是想不通(我知道如何在没有函数的情况下做到这一点,但这需要更多的代码行,这是愚蠢的)

以下是我的一些代码:

public static void main (String[] args) {
// User inputs
calculate("Number of beers", 20, 1.50);
}

public static void calculate(String articleName, double numberOfX, double pricePerUnit) {

        double subTotal = numberOfX * pricePerUnit;
        System.out.printf("%-20s %-1s %10.2f\n", articleName, ":", subTotal);
}

这打印出了我买的东西。此外,我希望这种方法将totalprice添加到(global?)变量中,最终显示所有项目的最终价格。在PHP中,我通常写一个名为totalDue + = subTotal;

的变量

有没有办法在java中这样做?如果我可以将每个项目的总价格添加到变量中,那么编写一个全新的函数进行数学运算会很遗憾。

2 个答案:

答案 0 :(得分:1)

Java中不存在全局变量。

这不是应该怎么做的。该方法应该只返回计算结果而不是更新某个变量的方法,而调用者应该负责按照他的意愿使用结果:

double total = 0D;
total += calculate("Number of beers", 20, 1.50);
total += calculate("Number of pizza", 10, 8);
// ...

这样,当你想要计算小计,平均值或任何东西时,你不必在计算方法中改变任何东西。一种方法=一种责任。

对于PHP程序也应如此。

完成此操作后,您应该在一个类中封装文章名称,项目数和单价,并向该类添加方法,如toString(显示已购买的项目)和{{ 1}}(计算此购买物品的价格)。

答案 1 :(得分:1)

public static void main (String[] args) {
// User inputs
    double total = 0.0;
    total += calculate("Number of beers", 20, 1.50);
}

public static double calculate(String articleName, double numberOfX, double pricePerUnit) {
    double subTotal = numberOfX * pricePerUnit;
    System.out.printf("%-20s %-1s %10.2f\n", articleName, ":", subTotal);
    return subTotal;
}