2012-09-10 10 views
-1

setInitialQuantity 메서드 선언에서 이러한 오류가 발생하는 이유를 이해하지 못합니다.방법에 오류가 발생하는 이유는 무엇입니까?

public class Invoice 
{ 
    private int quantity; 
    private String partNum; 
    private String partDesc; 
    private double unitPrice; 


    //constructor 
    public Invoice (int initialQuantity, String partNumber, String partDescript, double unitPrice) 
    { 
     public void setInitialQuantity (int initialQuantity) 
     { 
      quantity = initialQuantity; 
     } 
    }//end Invoice constructor 
} 

오류 : 당신은, 다른 내부 방법 (또는 Concstructor) 자바에서이 생성자 외부하지만 클래스 내부를 이동할 수 없습니다

javac Invoice.java 
Invoice.java:16: illegal start of expression 
    public void setInitialQuantity (int initialQuantity) 
    ^
Invoice.java:16: illegal start of expression 
    public void setInitialQuantity (int initialQuantity) 
     ^
Invoice.java:16: ';' expected 
    public void setInitialQuantity (int initialQuantity) 
           ^
Invoice.java:16: ';' expected 
    public void setInitialQuantity (int initialQuantity) 
                 ^
4 errors 

답변

1

.

public class Invoice 
{ 
    private int quantity; 
    private String partNum; 
    private String partDesc; 
    private double unitPrice; 


    //constructor 
    public Invoice (int initialQuantity, String partNumber, String partDescript, double unitPrice) 
    { 
    }//end Invoice constructor 

public void setInitialQuantity (int initialQuantity) 
    { 
      quantity = initialQuantity; 
    } 

} 
1

다른 메소드 내에 메소드를 정의 할 수 없습니다.

//constructor  
public Invoice(int initialQuantity,String partNumber,String partDescript,double unitPrice) 
{ 
    this.quantity=initialQuantity; 
    this.partNum=partNumber; 
    this.partDesc=partDescript; 
    this.unitPrice=unitPrice; 
} 
public void setInitialQuantity(int initialQuantity) 
{ 
    quantity = initialQuantity; 
} 
0

변경 Cosntructor에 :

public Invoice (int initialQuantity, String partNumber, String partDescript, double unitPrice) 
    {  
     quantity = initialQuantity;   
    }//end Invoice constructor 
0

당신은 생성자 내에서 방법, 당신은 뭔가를 찾고있을 수 없습니다 : 당신은 당신 밖에 'setInitialQuantity'을 정의해야

public class Invoice 
{ 
    private int quantity; 
    private String partNum; 
    private String partDesc; 
    private double unitPrice; 


    //constructor 
    public Invoice (int initialQuantity, String partNumber, String partDescript, double unitPrice) 
    { 
     quantity = initialQuantity; 
     partNum = partNumber; 
     partDesc = partDescript; 
     unitPrice = unitPrice; 
    }//end Invoice constructor 

    public void setInitialQuantity (int initialQuantity) 
    { 
     quantity = initialQuantity; 
    } 
} 
0

생성자를 호출 한 다음 생성자에서 호출합니다. 다음과 같은 내용 :

//constructor   
public Invoice (int initialQuantity, String partNumber, String partDescript, double unitPrice) 
{ 
    setInitialQuantity(initialQuantity);  
}//end Invoice constructor 

public void setInitialQuantity (int initialQuantity) 
{ 
    quantity = initialQuantity; 
} 
관련 문제