资源简介

资源中包含两个实验的代码:①泛型栈模拟泛型队列;②医院简易挂号管理系统

资源截图

代码片段和文件信息

package javaLab1;
import java.util.Stack;
import java.util.NoSuchElementException;

/**
 * 
 * @author CS1502 
 *         U201414596 
 *         卢振兴
 * @param 
 */

/*用两个栈来模拟队列,
 *入栈继承Stack类的栈
 *出栈另定义一个泛型Stack*/
public class Queue extends Stack {
private static final long serialVersionUID = 1L; 
static final int dump = 10;        //设置元素栈的大小
private Stack myStack;          //声明泛型栈,该栈作为出口栈
public Queue( ){ 
myStack = new Stack();     //初始化栈
};

//向队列中插入元素,并在插入失败的情况下抛出异常
public boolean add(E e) throws IllegalStateException ClassCastException 
NullPointerExceptionIllegalArgumentException
{
//如果入栈满了,且出栈不为空,则报错
if(super.size() == dump && myStack.size() !=0) 
{
throw new IllegalStateException();
}

if(super.size() < dump)
{//如果入栈的大小小于设置的栈的大小,那么直接入栈即可
super.push(e);
return true;
}else
{//入栈已经满了,则将入栈中的值全部倒入出栈
E temp;
int i = super.size();
while(i>0)
{
i--;
                temp = (E) super.get(i);
myStack.push(temp);
}
super.clear();
super.push(e);
}
return true;
    }

//向队列插入元素,在插入失败的情况下返回false
public boolean offer(E e) throws ClassCastException NullPointerException 
IllegalArgumentException{ 
if(super.size() == dump && myStack.size() !=0)
{
return false;
}

if(super.size() < dump)
{
super.push(e);
return true;
}else
{
E temp;
int i = super.size();
while(i>0)
{
i--;
                temp = (E) super.get(i);
myStack.push(temp);
}
super.clear();
super.push(e);
}
return true;
}

//取出队列的头元素,并将其移出队列
public  E remove( ) throws NoSuchElementException 
{
if(!super.empty() || !myStack.empty())
{
if(!myStack.empty())
{
return myStack.pop();
}else
{

E temp;
int i = super.size();
while(i>0)
{
i--;
                temp = (E) super.get(i);
myStack.push(temp);
}
super.clear();
return myStack.pop();
}
}else
{
throw new NoSuchElementException();
}
}

//基本同remove只是在队列为空时返回null
    public  E poll( ) {
if(!super.empty() || !myStack.empty())
{
if(myStack.size()!=0)
{
return myStack.pop();

}else
{
E temp;
int i = super.size();
while(i>0)
{
i--;
                temp = (E) super.get(i);
myStack.push(temp);
}
super.clear();
return myStack.pop();
}

}else{
return null;
}
     }
    
    //取出头部
public  E peek ( ) {
     if(!super.empty() || !myStack.empty())
{
if(!myStack.empty())
{
  return myStack.peek();
}else
{
E temp;
int i = super.size();
while(i>0)
{
i--;
                    temp = (E) super.get(i);
myStack.push(temp);
}
super.clear();
  return myStack.peek();
}
}else{
return null;
}
    }

    public  E element( ) throws NoSuchElementEx

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-11 10:32  JAVA实验\
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\
     文件           0  2018-05-12 17:18  JAVA实验\.metadata\.lock
     文件        8262  2018-05-15 15:37  JAVA实验\.metadata\.log
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.mylyn\
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.mylyn\.taskListIndex\
     文件          71  2018-05-12 17:18  JAVA实验\.metadata\.mylyn\.taskListIndex\segments_1
     文件           0  2018-05-12 17:18  JAVA实验\.metadata\.mylyn\.taskListIndex\write.lock
     文件         235  2018-05-15 15:59  JAVA实验\.metadata\.mylyn\.tasks.xml.zip
     目录           0  2019-01-11 10:35  JAVA实验\.metadata\.mylyn\contexts\
     文件         561  2018-05-12 17:20  JAVA实验\.metadata\.mylyn\repositories.xml.zip
     文件         235  2018-05-15 16:03  JAVA实验\.metadata\.mylyn\tasks.xml.zip
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\
     目录           0  2019-01-11 10:35  JAVA实验\.metadata\.plugins\org.eclipse.buildship.core\
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.history\
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.history\9c\
     文件        4445  2018-05-15 15:23  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.history\9c\d004ae56165800181547d8265278da89
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.history\e1\
     文件        1356  2018-05-06 14:23  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.history\e1\90976d4e165800181547d8265278da89
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\javaLab1\
     文件          81  2018-05-12 17:19  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\javaLab1\.location
     文件         936  2018-05-13 14:50  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\javaLab1\.markers
     文件          32  2018-05-15 15:56  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\javaLab1\.markers.snap
     文件          32  2018-05-15 15:56  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\javaLab1\.syncinfo.snap
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\javaLab1\org.eclipse.jdt.core\
     文件      163132  2018-05-13 07:06  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\javaLab1\org.eclipse.jdt.core\state.dat
     目录           0  2019-01-11 10:32  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\lab2Patient\
     文件          84  2018-05-15 15:37  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\lab2Patient\.location
     文件        4463  2018-05-15 15:56  JAVA实验\.metadata\.plugins\org.eclipse.core.resources\.projects\lab2Patient\.markers.snap
............此处省略201个文件信息

评论

共有 条评论