gibi öğeleri depolamak için bir dizi kullanma Otel programında çalışıyorum ve Queue sınıfımla ilgili bir sorunum var. Sırasıma eklemek ve sıra almak için programımda kuyruk nesnesi oluşturmanız gerekir. Bir odaya bir ad eklendiğinde, müşterinin adını kuyruğa eklemek için sıra nesne yöntemini kullanmalıdır. Kullanıcı ilk 3 müşterinin isimlerini göstermeyi seçtiğinde, kodum onları sıradan birer birer çıkarmalı (ilk önce ilk çıkar) ve kaldırıldıklarında göstermelidir.Bir sıra
Sıra, bir diziye dayalı olmalıdır. Sıra öğeleri dizinin sonuna ulaştığında, başlangıç veya diziye eklenmelidir. Sıra doldurulursa, en eski sıra öğesi otomatik olarak kaldırılmalı ve görüntülenmelidir.
Şu anki sorun, uç uca ulaştığında, ilk girişi itmeli ve son girişi almalı ve onu bir dizinin önüne taşımalıdır. Ayrıca, Kuyruğun dizi dizisine dayandığını lütfen unutmayın. Lütfen şu ana kadar kullandığım kodlara bakın, belki bazılarınız yardımcı olabilir?
public class Queue {
static String qitems[] = new String[7];
static int front = 0, end = 0;
void addqueue(String name) {
System.out.println("Enter Queue Item :");
qitems[end] = name;
end++;
if(end==5){
takequeue(name);
}
}
void takequeue(String name) {
qitems[front]=name;
if (end > front) {
System.out.println("Item taken :" + qitems[front]);
front++;
} else {
System.out.println("Empty queue");
}
}
void displayqueue() {
System.out.println("Queue display: ");
for (int look = front; look < end; look++) {
System.out.println(" " + qitems[look]);
System.out.println("end"+end);
}
System.out.println("");
}
Sorunun çok fazla hatası var. ** Array String Queue ** ve tag ** queue ** başlığı oldukça yanıltıcıdır. ** Queue **, Java'da tamamen farklı bir şeydir. Ayrıca, sınıfınızı ** Queue ** olarak adlandırmamalısınız, çünkü Java kütüphanesinde sağlanan bir arayüzdür. (_ Önerilen bir düzenleme gönderdik. Lütfen dikkat edin) –