Я пишу код для реализации очереди с использованием массивов в java. Но это показывает мне неправильный вывод. Вывод должен быть 2 , 3 , 4 Но вывод показал 0 , 2 , 3 , 4 .
мой вопрос был здесь. Но этот глупый алгоритм сайта говорит, что ваш вопрос содержит в основном код. Но если я закончил писать свою проблему, то как я могу написать к ней больше слов. Поэтому я пишу эти предложения.
import java.util.*;
public class first {
public static class queque{
static int arr[];
static int size;
static int rear;
queque(int n){
arr = new int[n];
size=n;
int rear = -1;
}
public static boolean isEmpty(){
return rear==-1;
}`your text`
public static void add(int data){
if (rear == size-1){
System.out.println("queue is full")`your text`;
}
rear++;
arr[rear]=data;
}
public static int remove(){
if (isEmpty()){
System.out.println("empty queue");
return -1;
}
int front = arr[0];
for(int i=0;i<rear;i++){
arr[i]=arr[i+1];
}
rear--;
return front;
}
public static int peek(){
if (isEmpty()){
System.out.println("empty queue");
return -1;
}
return arr[0];
}
}
public static void main(String[] args) {
queque q = new queque(5);
q.add(2);
q.add(3);
q.add(4);
while(!q.isEmpty()){
System.out.println(q.peek());
q.remove();
}
}
}
Наверняка вы пытались отладить свой код с помощью отладчика, прежде чем публиковать разглагольствования на этом «тупом» сайте?
Вам нужно прочитать Как отлаживать небольшие программы.
в сторону: придерживайтесь соглашений об именах Java при публичном показе кода Java
У вас есть проблема с этой строкой
int rear = -1;
изменить его на
rear = -1;
Это был бы лучший ответ, если бы он объяснял, почему это работает.
поскольку код int rear = -1;
является локальным только для этого метода, он не влияет на глобальную переменную rear
Во-первых, вы могли бы попытаться выделить, где в вашей реализации вы столкнулись с проблемой, а не просто сбрасывать все и сообщать нам, что вывод неверен, ожидая, что мы отладим всю вашу реализацию за вас. Во-вторых, вы бы знали, как улучшить свой вопрос, если бы прочитали как спрашивать . В-третьих, если у вас есть проблемы с тем, как что-то работает на сайте, вы можете проверить мета для обсуждения этой темы или опубликовать собственное обсуждение, а не просто называть его «глупым» и все еще просить о помощи :)