2014-12-14 3 views
-2

나는 Java에서 새로운 편이므로 분명하지 않은 점에 대해 사과드립니다. 25 번과 46 번 줄에서 아래의 코드로 고민하고 있습니다. 012be @ 25 - Netbeans에서 '불법적 인 표현 시작'이 표시됩니다. 이 줄은 오류가없는 다른 줄과 동일합니다 (줄 30 & 37). 나는 변수 이름이 구문이 올바른지 확인했다. @ 46 - 'class, interface 또는 enum expected'라는 오류 메시지가 나타납니다. 이 중괄호는 'public class Purchase {'12 행에 연결되어 있습니다.불법적 인 표현의 시작 - 라인 25

나는 다른 오류를 성공적으로 해결했습니다. 미리 감사드립니다. 지원하십시오 ... 당신은 방법 내부 메소드를 정의하려고

public class Purchase { 

    /* set values for invoice, sale amount and tax*/ 
    public int invoiceNumber=12345; 
    public int invoiceNo; 
    public int saleAmount=100; 
    public double saleTax=0.05; 
    public double saleTaxAmt; 

    public static void main(String[] args) { 

     /* @param invoiceNo*/ 

     public void setinvoiceNo(int invoiceNo) >> HERE IS THE FIRST ERRANT LINE >> 
     { 
      this.invoiceNumber=invoiceNo; 
     } 

     public void setsaleAmount(int saleAmount) 
     { 
      this.saleAmount=saleAmount; 
      saleTaxAmt=this.saleAmount*saleTax; 
     } 

     /* Display method displays data values*/ 
     public void display() 
     { 
      System.out.println("Invoice Number:  " + invoiceNumber); 
      System.out.println(""); 
      System.out.println("Sale amount:  $" + saleAmount); 
      System.out.println("Sales Tax Amount : $" + saleTaxAmt); 
      System.out.println("Total Bill:  $" + saleAmount+saleTaxAmt); 
     } 
    } >> HERE IS THE SECOND ERRANT LINE >> 
+4

Java에서는 메소드 내부에 메소드를 가질 수 없습니다. –

+0

용서해주세요.하지만 30 행 "public void setsaleAmount (int saleAmount)"과 다른 점은 무엇입니까? – StanB

+0

컴파일러는 가능한 한 많은 코드를 구문 분석하여 구문 오류를 찾을 때마다 컴파일을 중지하지 않으므로 대신 한 번에 모든 오류를 출력합니다. 귀하의 경우, 일부 fautive 코드가 컴파일러가 유효하지 않은 코드를 "유효"하다고 해석하도록 유도 할 수 있습니다. 첫 번째 구문 오류를 수정하면 두 번째 메서드 선언 등이 강조 표시됩니다. 이 경우 첫 번째 오류를 해결할 때까지는 신뢰할 수 없습니다. –

답변

1

. 이것은 유효한 Java가 아닙니다. 다른 메소드를 main에서 클래스 자체로 옮겨야합니다.

+0

나는 메인 프로젝트를 구매 프로젝트의 지원 클래스 파일로 재배치했다. 고맙습니다. – StanB

관련 문제