Java集合练习题-用LinkedList来模拟一个队列(先进先出的特性)

/*
 * 1、使用LinkedList来模拟一个队列(先进先出的特性)
 *1.1 拥有放入对象的方法void put(Object o)
 *1.2 取出对象的方法Object get()
 *1.3 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。
 */
package queueDemo01;
import java.util.LinkedList;
import java.util.Scanner;
public class MyQueue {
	LinkedList<Object> link=new LinkedList<>();
	Scanner input=new Scanner(System.in);
	boolean fale=true;
	Object temp=null;
	/*
	 *write()方法, 写一个方法让用户输入
	 */
	public void write() {
		do {
			System.out.println("请输入队列的值(按0退出):");
			temp=input.next();
			//当用户输入0的时候,表达已经输入完毕
			if(temp.equals("0") ){
				fale=false;
			}else {
				//调用进入队列的方法
				setQueue(temp);
			}
		}while(fale);
	}
	//进入队列集合
	public void setQueue(Object a) {
		link.addLast(a);
	}
	//输出队列
	public Object getQueue() {
		Object temp=null;
		if(!link.isEmpty()) {
			temp=link.getFirst();
			link.removeFirst();
		}
		return temp;
	}
}
package queueDemo01;
import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		//调用一个类要先new一个对象
		MyQueue mq=new MyQueue();
		//调用用户输入的方法
		mq.write();
		System.out.println("以下是队列的输出:");
		for (int i = 0; i < 10; i++) {
			Object k=mq.getQueue();
			//只要队列为空,就不在输入后续的空值
			if(k==null) {
				continue;
			}
			System.out.print(k);
		}
	}//main
}//Test 

在这里插入图片描述

发布了23 篇原创文章 · 获赞 2 · 访问量 1044

猜你喜欢

转载自blog.csdn.net/weixin_46101839/article/details/104289372