2011-10-27 3 views
0

Iam이 Java로 학교 과제를 수행하고 있으며, 메소드에서 계산을 수행하는 데 도움이 필요합니다. Iam은 PHP에 익숙했지만 많은 지식을 코드에 추가했습니다. 그러나이 코드는 기능을 사용하지 않는 방법을 알고 있지만 바보 인 코드는 훨씬 더 많이 필요합니다. . 이것은 제가 구입 한 물건의 좋은 법안을 출력Java의 메소드/함수에서 totalPrice를 계산하십시오.

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 + = subTotal이라는 변수를 작성했습니다.

java에서이 작업을 수행 할 수있는 방법이 있습니까? 각 항목의 총 가격을 변수에 추가 할 수 있다면 수학을 수행하는 완전히 새로운 함수를 작성하는 것은 수치 스럽습니다.

답변

1

Java에는 전역 변수가 없습니다.

그리고 어떻게해야하는지는 아닙니다. 오히려 몇 가지 변수를 업데이트하는 방법보다이 방법은 계산의 결과를 반환해야하고, 자신이 원하는대로 발신자는 결과를 사용하는 책임을 져야한다 :

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

이 방법, 당신이 필요가 없습니다 소계 또는 평균 등을 계산할 때 calculate 메서드에서 아무 것도 변경하지 마십시오. 하나의 방법 = 하나의 책임.

PHP 프로그램에서도 마찬가지입니다. 을 계산하기 위해 (이 작업을 수행 한 후

, 당신은 클래스, 항목 수 및 단가를 문서 이름을 캡슐화해야하며합니다 (구입 항목을 표시하는 데) toString 같은 클래스에 메소드를 추가하고, computePrice 이 구입 한 상품의 가격).

+0

고마워요! 확실히 트릭을했고, 나는 좋은 연습도 배웠습니다 :) –

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; 
} 
+0

고마워요! 두 응답 모두 동일하기 때문에 첫 번째 것을 해결책으로 표시하겠습니다.하지만 감사합니다. –

+0

@ StteenMartinsen : 천만에요. –

관련 문제