Вылічыць totalPrice ў метадзе/функцыі ў Java

Iam робіць прызначэнне школы ў Java, і мне патрэбна дапамога, каб зрабіць некаторыя разлікі ў метадзе. Иам выкарыстоўваецца для 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 да (глабальнай?) Пераменнай, якая ў канчатковым рахунку паказвае канчатковую цану ўсіх тавараў. У PHP я звычайна пісаў зменную з імем TotalDue + = субтотальная;

Ці ёсць спосаб зрабіць гэта ў Java? Я быў бы ганьба, каб напісаць зусім новую функцыю, каб зрабіць матэматыку, калі я мог бы дадаць агульную кошт кожнага элемента ў пераменны.

0

2 адказы

Глабальныя зменныя не існуюць у Java.

І гэта не тое, як гэта павінна быць зроблена. Замест метаду абнаўлення некаторых зменныя, метад павінен проста вяртаць вынік вылічэнні, і выклікае абанент павінен быць адказным, выкарыстоўваючы вынік, як ён хоча:

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

Такім чынам, вам не давядзецца нічога мяняць у метадзе разлічыце, калі вы хочаце, каб вылічыць прамежкавыя або сярэднія, або што-небудзь. Адзін метад = адна адказнасць.

Гэта павінна быць дакладна і для вашых праграм PHP, а таксама.

Пасля таго, як гэта будзе зроблена, вы павінны інкапсуляваць назву артыкула, колькасць элементаў, і цану адзінкі ў класе, а таксама дадаваць метады ў клас, як ToString (для адлюстравання купілі тавару), а <�код > computePrice (вылічыць цану гэтага набытага пункта).

1
дададзена
Вялікі дзякуй! Гэта вядома ж трук, і я даведаўся некаторыя добрыя практыкі таксама :)
дададзена аўтар Steffen Martinsen, крыніца
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;
}
1
дададзена
@SteffenMartinsen: Вы можаце.
дададзена аўтар Bhesh Gurung, крыніца
Вялікі дзякуй! Бо адказ заяўляе тое ж самае, я адзначыць першы ў якасці рашэння - але вялікі дзякуй вам!
дададзена аўтар Steffen Martinsen, крыніца