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()); } }
运行结果: