• ベストアンサー

クラス→スタックを使う

初歩的なとこですがすでに着いていけず困っています。 問題は、  下記のプログラムにおいて、スタックへ整数10を入れるには、push(10)としてメソッドpushを呼び出す。逆に、スタックから値を取り出すには、pop()メソッドを呼び出す。また、現在のスタックの先頭位置(スタックポインタsp)は、メソッドgetSP()を呼び出すことで得られる。今、整数10と20をこの順にスタックへ入れた後、スタックから先頭の要素(整数)を取り出す。ただし、取り出した値は出力する必要はない。そして、これらの操作(3回ある)が終わる毎に、その時のスタックポインタspの値を出力する。  このような動作をするようにmainメソッドを完成させ、実行結果を確かめなさい。 class Stack { int [] stack = new int[10]; int sp = 0; void push(int n){ if(sp < stack.length){ stack[sp] = n; sp++; } } void pop(){ if(sp > 0)sp--; } int getSp(){ return sp; } public static void main(String[] args){ // <この部分を完成させなさい> } } 宜しくお願いします!!  

質問者が選んだベストアンサー

  • ベストアンサー
noname#119918
noname#119918
回答No.3

public static void main(String[] args){ Stack s = new Stack(); s.push(10); System.out.println(s.getSp()); s.push(20); System.out.println(s.getSp()); s.pop(); System.out.println(s.getSp()); }

yurie0408
質問者

お礼

とても参考になりました!! ありがとうございます☆

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

>今、整数10と20をこの順にスタックへ入れた後、 >スタックから先頭の要素(整数)を取り出す。 >ただし、取り出した値は出力する必要はない。 >そして、これらの操作(3回ある)が終わる毎に、 >その時のスタックポインタspの値を出力する。 これをそのままコーディングするだけ。

yurie0408
質問者

お礼

参考にして頑張ってみます!!ありがとうございました(^ー^)♪

すると、全ての回答が全文表示されます。
  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.1

1.Class Stackをnewする。 2.整数10をpushする。 3.整数20をpushする。 4.popしてspの値をSystem.out.println()する。

yurie0408
質問者

お礼

参考になりました!! ありがとうございます。 やってみますね。

すると、全ての回答が全文表示されます。

関連するQ&A