【发布时间】:2013-12-08 19:20:00
【问题描述】:
谁能告诉我我哪里出错了我有三个文件 Person.java Queue.java 和 Cinema.java,我设法在没有对象 Person.java 的情况下进行队列。我在用对象实现时遇到了问题。
这是我的 Queue.java
public class Queue
{
private Person[] person = new Person[10];
private int rear;
public Queue()
{
rear = 0;
}
public boolean isEmpty()
{
return rear == 0;
}
public String remove() //remove String element
{
String result = person[0].toString(); //shuffle String elements
rear--;
for (int i = 0; i < rear ; i++)
{
person[i] = person[i + 1];
}
return result;
}
public void add(Person x) //add String element
{
if (rear == person.length)
{
resize();
}
person[rear] = x;
rear++;
}
private void resize()
{
Person[] temp = new Person[person.length * 2]; //resize String array
for (int i = 0; i < person.length; i++)
{
temp[i] = person[i];
}
person = temp;
}
}
然后是 Person.java (Object)。
public class Person
{
private String name;
private int age = 0;
public Person(String name1, int age1)
{
this.name = name1;
this.age = age1;
}
}
这是主要的 java 文件 Cinema.java
import java.util.*;
public class Cinema {
public static void main (String[] args)
{
Queue q = new Queue();
Scanner k = new Scanner(System.in);
System.out.print("Enter name: ");
String name = k.nextLine();
System.out.print("Enter Age : ");
int age = k.nextInt();
q.add(name);
System.out.println(name + " joined queue");
}
}
基本上我希望一个人加入一个姓名和年龄的队列,第一个人去买票并检查年龄。我可以做检查位,它只是让它与对象一起读取。
谢谢
【问题讨论】:
-
从您对
Queue.java的实现中,我感觉到Stack类。谷歌关于“什么是队列”?