fork download
  1. import Stack.Array.Stack;
  2. // import Stack.List.Stack;
  3.  
  4. public class Main {
  5. private static void testOverflow() {
  6. Stack stack = new Stack();
  7. try {
  8. while (true) {
  9. Object o = new Object();
  10. System.out.printf("現在要素数は%dです。オブジェクト%sを追加します。%n", stack.size(), o); // これも課題としては不要
  11. stack.push(o);
  12. }
  13. } catch (Stack.StackException e) {
  14. System.err.printf("スタックのサイズは%dです。これ以上要素は追加できません。%n", stack.size());
  15. }
  16. }
  17.  
  18. private static void testUnderflow() {
  19. Stack stack = new Stack();
  20. try {
  21. /* // 空のスタックからポップするだけの課題なので要らないけれど
  22.   // stack.pop();の替わりにコメント内の方にすると、追加してから過剰に削除する
  23.   for (int i = 0; i < 10; i++) {
  24.   Object o = new Object();
  25.   System.out.printf("現在要素数は%dです。オブジェクト%sを追加します。%n", stack.size(), o);
  26.   stack.push(o);
  27.   }
  28.   System.out.printf("現在要素数は%dです。%n", stack.size());
  29.   while (true) {
  30.   System.out.printf("オブジェクト%sが取り出されました。", stack.pop());
  31.   System.out.printf("現在要素数は%dです。%n", stack.size());
  32.   }
  33.   */
  34. stack.pop();
  35. } catch (Stack.StackException e) {
  36. System.err.println("スタックは空です。要素を取り出すことはできません。");
  37. }
  38. }
  39.  
  40. public static void main(String[] args) {
  41. System.out.println("--- testOverflow");
  42. testOverflow();
  43. System.out.println("--- testUnderflow");
  44. testUnderflow();
  45. }
  46. }
  47.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty