2014-10-22 2 views
-1

코드의이 작은 조각은 ... 라인 6 (for 루프) 10 .... 내가 어떤 타의 추종을 불허하는 괄호를 찾을 수없는 입력 오류의 불법 시작을주는 이유오류 : 유형의 불법 시작

class StackDemo{ 
    final int size = 10; 
    Stack s = new Stack(size); 

    //Push charecters into the stack 
    for(int i=0; i<size; i++){ 
     s.push((char)'A'+i); 
    } 
    //pop the stack untill its empty 
    for(int i=0; i<size; i++){ 
     System.out.println("Pooped element "+i+" is "+ s.pop()); 
    } 
} 

클래스 스택이 구현되었습니다.

+8

Offtopic,하지만 당신은 갑자기 튀어 나온 사이의 차이점을 확인해야합니다. 롤. – zubergu

+0

나 자신의 질문을 삭제할 수 있습니까? 그 실수를 저질러 넣는 어리 석음의 양은 ..... ugghhhhhhhh – rick112358

+2

@ m.souvik 수 없습니다. 여기에 답이 있으니. 다음에 서둘러 질문하기 전에. 문제를 직접 파악해보십시오. –

답변

5

루프는 클래스 수준에서 for 루프를 사용할 수 없습니다. method 또는 block

java.util.StackJava에는 해당 생성자가 없습니다.

그것은

Stack s = new Stack() 

s.push(char('A'+i))// you will get Unexpected Token error here 

그냥 당신은 클래스 본문 내부 루프 사용할 수 없습니다

s.push('A'+i); 
2

로 변경 또 다른 문제이어야한다, 당신은에 넣어 필요 어떤 종류의 방법.

class StackDemo{ 
    static final int size = 10; 
    static Stack s = new Stack(size); 

    public static void main(String[] args) { 
     //Push charecters into the stack 
     for(int i=0; i<size; i++){ 
      s.push(char('A'+i)); 
     } 
     //pop the stack untill its empty 
     for(int i=0; i<size; i++){ 
      System.out.println("Pooped element "+i+" is "+ s.pop()); 
     } 
    } 
} 

방법 main 자바 응용 프로그램에 대한 진입 점입니다 : 당신은 그냥 클래스에 코드를 작성할 수 없습니다

class StackDemo{ 
final int size = 10; 
Stack s = new Stack(size); 
public void run(){ 
    //Push charecters into the stack 
    for(int i=0; i<size; i++){ 
     s.push(char('A'+i)); 
    } 
    //pop the stack untill its empty 
    for(int i=0; i<size; i++){ 
     System.out.println("Pooped element "+i+" is "+ s.pop()); 
    } 
    } 
} 
1

, 당신은 그 방법이 필요합니다. JVM은 프로그램 시작시 해당 메소드를 호출합니다. 변수에 static 코드 워드를 추가 했으므로 정적 메서드 main에서 직접 사용할 수 있습니다.