java技术支持 第四次 打包一个栈类

java技术支持 第四次 封装一个栈类
/* 
* 程序头部注释开始   
* 程序的版权和版本声明部分   
* Copyright (c) 2011, 烟台大学计算机学院学生   
* All rights reserved.   
* 文件名称:封装一个栈类                           
* 作    者:薛广晨                               
* 完成日期:2012  年 10 月  12  日   
* 版 本号:x1.0            
   
* 对任务及求解方法的描述部分   
* 输入描述:  
* 问题描述:
* 程序输出:   
* 程序头部的注释结束 
*/
package xue;

public class Stack {

	private int size;//栈中元素的个数
	private int[] array;//存放栈中元素的
	
	public Stack()
	{
		//栈的初始大小
		array = new int[10];
		size = 0;
	}
	
	public int getSize() {
		return size;
	}
	
	//入栈
	public void in(int number){
		if(size >= array.length)
		{
			//栈已满
			//1.得到一个新的大数组
			int[] array_New = new int[2 * array.length];
			//2.数据转移
			System.arraycopy(array, 0, array_New, 0, array.length);
			//3.改指向
			array = array_New;
		}
		//栈没满的时候
		array[size] = number;
		size++;
	}


	public int out(){
		if(size == 0){
			//栈已满
			return -404;
		}else{
			int number = array[size - 1];
			size--;
			return number;
		}
	}

}

//测试类
package xue;

public class Stack_Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Stack stack = new Stack();
		stack.in(1);
		stack.in(2);
		stack.in(3);
		stack.in(4);
		stack.in(5);
		stack.in(6);
		stack.in(7);
		stack.in(8);
		stack.in(9);
		stack.in(10);
		stack.in(11);
		System.out.println("个数:" + stack.getSize());
		System.out.println(stack.out());
		System.out.println(stack.out());
		System.out.println(stack.out());
		System.out.println(stack.out());
		
		

	}

}

运行结果:

java技术支持  第四次  打包一个栈类