2016-07-28 3 views
-5

메인에서 아무 것도 초기화하지 않았습니다. 내가 원하는 건 외부 방법을 호출하는 것뿐입니다. 그러나 picnicCost()를 호출 할 때 main에서 변수를 사용하지 않았으므로 괄호 안에 무엇을 넣을 지 모르겠습니다.main에서 변수를 정의하지 않았더라도 main에서 메소드를 호출하는 방법.

import java.util.*; 
public class picnic 
{ 
static Scanner scan=new Scanner(System.in); 
public static void main(String args[]) 
{ 
picnicCost(0,0,0); 
} 

public static double flatFee(double a) 
{ 
    System.out.println("Enter the number of people attending: "); 
    a=scan.nextDouble(); 
    return a*5.00; 
} 

public static double MealP(double b) 
{ 
    System.out.println("Enter the number of poeple purchasing a meal: "); 
    b=scan.nextDouble(); 
    return b*2.75; 
} 

public static double iceCreamCost(double c) 
{ 
    System.out.println("Enter the number of poeple purchasing ice cream: "); 
    c=scan.nextDouble(); 
    return c*.75; 
} 


public static double picnicCost(double a, double b, double c) 
{ 
    return flatFee(a) + MealP(b) + iceCreamCost(c);  
} 

} 
+0

_ 변수를 사용하지 않았습니다. 그런 다음 수행하십시오. –

+0

예를 들어 주 :'double flatFee = flatFee();'에 추가 할 수 있습니다. flatFee 메소드에서'a' 인수를 가질 필요가 없습니다. – assylias

+5

처음 세 가지 방법 중 하나라도 매개 변수가 필요하지 않은 것처럼 보입니다. –

답변

2

당신은 당신이 원하는 일을하기 전에 정보가 필요하면 인수로 뭔가를 통과, 그래서 flatfee 공동의 매개 변수한다. 비어 있어야합니다 : 당신이 다음 로컬 변수로 a를 선언

flatFee() { // code here } 

: 그 후

flatFee() { 
    double a; 
    // do stuff 
    return a * 5.0; 
} 

, 직접과 같이 변수를 사용하지 않고 인수 등의 방법의 결과를 전달할 수 있습니다

picnicCost(flatFee(), MealP(), iceCreamCost()); 
관련 문제