0

2 つのメソッド push と pop を使用して、最初に最初にスタックに入れる数字の数をユーザーが入力できるスタックを作成しようとしています。 push は要素をスタックに置き、 pop は要素を一番上に削除します。スタックにさらにスペースがある場合、例外がスローされます。pop を呼び出そうとすると、例外がスローされてもスタックは空になります。質問は少しわかりにくいですが、それは私の英語のせいです

これが私のメインクラスです(アプリケーション)

package com.example.undantag.main;

import java.util.Scanner;

public class Application {

    public static void main(String[] args) {

        Stack2 st = new Stack2();

          System.out.println("Stack "+st);

          System.out.println("Please enter how many numbers you would like to enter");
          Scanner scan = new Scanner(System.in);
          int totalnumber = scan.nextInt();
          System.out.println("Please enter the number you would like to begin");
          int beginnumber = scan.nextInt();
          showPush(st, beginnumber, totalnumber);

          System.out.println("Please enter how many numbers you would like to delete");
          int deletenumber = scan.nextInt();

          if(deletenumber > totalnumber){

          throw new IllegalArgumentException("Invalid number"); 
          }

          else{


          for(int i=0; i<=deletenumber; i++)
          {
           showpop(st);

         }

         }
    }
}

これは2番目のクラスです

package com.example.undantag.main;

public class Stack2 {           
        public static int i;

        static int TotalNumber(int totalnumber){

             return totalnumber;
        }

         static void showPush(Stack st, int a, int totalnumber){

            for(int i = 0; i <=totalnumber; i++)
            {
                 st.push(new Integer (a++));
                 System.out.println("Push("+a + ") ");

            }
        }
        static void showpop(Stack st){

            System.out.print("Pop: ");
            Integer a = (Integer) st.pop();
            System.out.println(a);
            System.out.println("Stack: "+st);

         }
    }
4

1 に答える 1

0

ここStackの代わりに使用していますStack2

static void showPush(Stack st, int a, int totalnumber){

使うつもりだったのStack2

Stackクラスがありjava.util.ます。あなたはそれをする必要がありimportます。

import java.util.Stack;

Stackは一般的なパラメーター化されたクラスであることに注意してください。

于 2013-09-29T14:35:31.750 に答える