2014-11-08 6 views
-3

내 코드에 어떤 문제가 있습니까? 나는 그것을 분명히 실행할 수 없다. 아래는 제 코딩입니다. 누군가가 오류를 찾도록 도와 줄 수 있습니까?데이터 구조에서 큐 구현

다음과 같은 작업을 수행 할 수있는 큐 구현 :

  1. 인큐 ('A'를);
  2. 엔큐 ('b');
  3. 엔큐 ('c');
  4. 엔큐 ('d');
  5. 엔큐 ('e');
  6. 엔큐 ('f');
  7. 엔큐 ('g');
  8. 엔큐 ('h');
  9. Dequeue();
  10. Dequeue();
  11. Dequeue();
  12. Dequeue();
  13. 엔큐 ('i');
  14. 엔큐 ('j');
  15. Dequeue();
  16. Dequeue();

    public class Queues { 
    
    public static void add(Queues <String>myQueue, String s) { 
        myQueue.enqueue(s); 
    
    
    public static void main(String[] args){ 
    
         Queues myQueue = new Queues (20, 0, 0); 
         myQueue.Enqueue('a'); 
         myQueue.Enqueue('b'); 
         myQueue.Enqueue('c'); 
         myQueue.Enqueue('d'); 
         myQueue.Enqueue('e'); 
         myQueue.Enqueue('f'); 
         myQueue.Enqueue('g'); 
         myQueue.Enqueue('h'); 
         myQueue.Enqueue(); 
         myQueue.Enqueue(); 
         myQueue.Enqueue(); 
         myQueue.Enqueue(); 
         myQueue.Enqueue(); 
         myQueue.Enqueue(); 
         myQueue.Enqueue('i'); 
         myQueue.Enqueue('j'); 
         myQueue.Enqueue(); 
         myQueue.Display(); 
        }     
    } 
    
    class Queue{ 
    int x; 
    char [] y; 
    int front, rear, w; 
    
    
    
    Queue (int a, b , c); 
    x = a; 
    y = new char[x]; 
    front = b; 
    rear = c; 
    w = rear; 
    
         boolean CHK_Q_EMPTY() 
         return rear == 0; 
         } 
         boolean CHK_Q_FULL(){ 
         return rear == x; 
         } 
    
    
    void Enqueue (char d){ 
         y(rear) = d; 
         rear++; 
         w++; 
    } 
    
    void Dequeue(){ 
        for (int z=1; z<rear; z++){ 
         y[front]=y[z]; 
         front++; 
        } 
    
    
         w--; 
         if(front == rear){ 
         front = 0; 
         rear = w; 
         } 
    } 
         void display(){ 
    
    
         for (int i=0; i<rear; i++) 
          System.out.println(y[i]); 
         } 
         } 
    
+0

실제 코드입니까? 컴파일되지 않습니다. 먼저 모든 컴파일 오류를 수정 한 다음 실행하고 가능한 한 많이 수정하고 새 대구를 붙여 넣은 다음 수행 할 작업과 잘못된 작업을 알려주십시오. – RealSkeptic

+0

어디에 오류가 있는지 모르겠다 :// 그냥 초보자 : '( – Lolzz

+0

그럼 StackOverflow를 사용하기에는 너무 빠릅니다. 자바 책을 읽어야합니다. 얻은 모든 컴파일 오류를보고 비교하려면 StackOverflow에서 대화 형 사이트가 아니기 때문에 거의 불가능합니다. 도움이 필요한 사람이 있으면 강사 나 조수와상의해야합니다. – RealSkeptic

답변

0

당신은 다른 함수 내에서 함수 이름을 정의 할 수 없습니다. 내가 너라면 mainrunnable 람다 식으로 만들 것이다.

또한 CHK_Q_FULL, Enqueue, Dequeuedisplay은 정의되지 않은 변수에 액세스합니다.

Queues에는 3 개의 인수가있는 생성자가 필요합니다. 기본 생성자는 절대 0 개 이상의 인수를 사용하지 않습니다. Queue의 생성자에는 본문이 필요합니다. 인수의 유형을 지정해야합니다. 생성자 아래에는 정의되지 않은 변수에 액세스하는 세 개의 명령문이 있습니다. 또한 main 메서드에서는 정의되지 않은 함수 Display을 사용합니다. 아마도 Enqueue 메소드를 너무 많이 오버로드해야합니다.

+0

i didn 그냥 초보자 이니 더 간단한 언어로 설명 할 수 있겠 니? – Lolzz

+0

@ user2971157 RealSkeptic이 말한 것을해야 할 것입니다. 자바로 코딩하는 방법에 대한 빠른 온라인 정보를 원한다면, Java 자습서 (https://docs.oracle.com/javase/tutorial/index.html). 먼저 컴파일러 오류를 수정하십시오. – TheNumberOne