Справочник по Java/Java-Shildt-178TestStack2

{{Готовность|0%}}

Содержание
  • Java-Shildt-100BitLogic
  • Java-Shildt-102ByteShift
  • Java-Shildt-102MultByTwo
  • Java-Shildt-104HexByte
  • Java-Shildt-105ByteUShift
  • Java-Shildt-106OpBitEquals
  • Java-Shildt-108BoolLogic
  • Java-Shildt-110Ternary
  • Java-Shildt-116IfElse
  • Java-Shildt-117SampleSwitch
  • Java-Shildt-130ForEach2
  • Java-Shildt-133Nested
  • Java-Shildt-143BoxDemo
  • Java-Shildt-143BoxDemo2
  • Java-Shildt-149BoxDemo3
  • Java-Shildt-150BoxDemo4
  • Java-Shildt-152BoxDemo5
  • Java-Shildt-154BoxDemo6
  • Java-Shildt-155BoxDemo7
  • Java-Shildt-159Stack
  • Java-Shildt-160TestStack
  • Java-Shildt-161Overload
  • Java-Shildt-162Overload2
  • Java-Shildt-164Box
  • Java-Shildt-165OverloadCons
  • Java-Shildt-166PassOb
  • Java-Shildt-167OverloadCons2
  • Java-Shildt-168CallByValue
  • Java-Shildt-169CallByRef
  • Java-Shildt-169RetOb
  • Java-Shildt-170Recursion
  • Java-Shildt-172Recursion2
  • Java-Shildt-173AccessTest
  • Java-Shildt-174Stack
  • Java-Shildt-175TestStack
  • Java-Shildt-176UseStatic
  • Java-Shildt-177StaticByName
  • Java-Shildt-178Length
  • Java-Shildt-178TestStack2
  • Java-Shildt-180InnerClassDemo
  • Java-Shildt-180InnerClassDemo2
  • Java-Shildt-181InnerClassDemo3
  • Java-Shildt-182StringDemo
  • Java-Shildt-183StringDemo2
  • Java-Shildt-184CommandLine
  • Java-Shildt-184StringDemo3
  • Java-Shildt-185PassArray
  • Java-Shildt-186VarArgs
  • Java-Shildt-187VarArgs2
  • Java-Shildt-187VarArgs3
  • Java-Shildt-188VarArgs4
  • Java-Shildt-191SimpleInheritance
  • Java-Shildt-193Access
  • Java-Shildt-194DemoBoxWeight
  • Java-Shildt-195ColorBox
  • Java-Shildt-195RefDemo
  • Java-Shildt-197BoxWeight
  • Java-Shildt-197DemoSuper
  • Java-Shildt-200UseSuper
  • Java-Shildt-70Light
  • Java-Shildt-71Area
  • Java-Shildt-72CharDemo
  • Java-Shildt-72CharDemo2
  • Java-Shildt-77DynInit
  • Java-Shildt-87TwoDArray
  • Java-Shildt-89Matrix
  • Java-Shildt-89ThreeDMatrix
  • Java-Shildt-94BasicMath
  • Java-Shildt-96OpEquals
  • Java-Shildt-97IncDec
  • Java-Shildt-Example
  • Java-Shildt-Example2
  • Java-Shildt-ForTest
  • Java-Shildt-IfSample

Полный справочник по Java. Java SE 6 Edition. 7-е издание. Герберт Шилдт. "Вильямс", Москва - Санкт-Петербург - Киев, 2007, стр.178.

// 178
// Усовершенствованный класс Stack, в котором использован член длины массива.
class Stack  {
   private int stck[];
   private int tos;
   // распределение и инициализация стека
   Stack(int size)  {
      stck = new int[size];
      tos = -1;
   }
   // Проталкивание элемента в стек
   void push(int item)  {
      if(tos==stck.length-1)  // использование члена длины массива
         System.out.println("Stack is fool.");
      else
         stck[++tos] = item;
   }
   // Выталкивание элемента из стека
   int pop()  {
      if(tos < 0)  {
         System.out.println("Stack is not loaded.");
         return 0;
      }
// 179
      else
         return stck[tos--];
   }
}
class TestStack2  {
   public static void main(String args[])  {
      Stack mystack1 = new Stack(5);
      Stack mystack2 = new Stack(8);
      // проталкивание чисел в стек
      for(int i=0; i<5; i++) mystack1.push(i);
      for(int i=0; i<8; i++) mystack2.push(i);
      // выталкивание этих чисел из стека
      System.out.println("Stack in mystack1:");
      for(int i=0; i<5; i++)
         System.out.println(mystack1.pop());
      System.out.println("Stack in mystack2");
      for(int i=0; i<8; i++)
         System.out.println(mystack2.pop());
   }
}