[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

情報処理技法(Javaプログラミング)II 第7回

目次
索引

スタックとキュー(1)

テキストpp.118--127を参照。


課題7

pp.120--125のList 4-1 [A]からList 4-1 [F]までは、ダウンロードしたプログラム・ファイルjava2\textbook\chap04\IntStack.javaにまとまっています。 あらかじめ、そのファイルをjava2フォルダーにコピーしておいてください。 (Visual Studio Codeのファイル・ツリーでファイルをコピーするには、コピー元のファイルを右クリック→コピー、ファイル・ツリーの下の余白(java2フォルダーを意味します)を右クリック→貼り付け、です。)

p.126のList 4-2を参考にして、最大5個プッシュできるスタックを生成し、そのスタックに0から4までの整数を push メソッドでプッシュし、その後、そのスタックから5回 pop メソッドでポップしてください。 その際、何をプッシュしたかや何をポップしたかのメッセージを出力してください。 try-catch文は省略してください。

IntStackTester2.java
class IntStackTester2 {
    public static void main (String[] args) {
        IntStack s = new IntStack(5);
        int x;
        for (int i = 0; i < 5; i++) {
            
            
        }
        for (int i = 0; i < 5; i++) {
            
            
        }
    }
}
ターミナル
PS ...\Desktop\java2>  & ... 'IntStackTester2'
プッシュしたデータは0です。
プッシュしたデータは1です。
プッシュしたデータは2です。
プッシュしたデータは3です。
プッシュしたデータは4です。
ポップしたデータは4です。
ポップしたデータは3です。
ポップしたデータは2です。
ポップしたデータは1です。
ポップしたデータは0です。
PS ...\Desktop\java2>

余力のある人は、プッシュするデータを0から5まで、ポップする回数を6回に変更してください。 try-catch文を利用して、スタックが満杯や、スタックが空というメッセージが出力されるようにしてください。

IntStackTester3.java
class IntStackTester3 {
    public static void main (String[] args) {
        IntStack s = new IntStack(5);
        int x;
        for (int i = 0; i < 6; i++) {
            
            
        }
        for (int i = 0; i < 6; i++) {
            
            
        }
    }
}
ターミナル
PS ...\Desktop\java2>  & ... 'IntStackTester3'
プッシュしたデータは0です。
プッシュしたデータは1です。
プッシュしたデータは2です。
プッシュしたデータは3です。
プッシュしたデータは4です。
スタックが満杯です。
ポップしたデータは4です。
ポップしたデータは3です。
ポップしたデータは2です。
ポップしたデータは1です。
ポップしたデータは0です。
スタックが空です。
PS ...\Desktop\java2>

完成したら、答案(Javaプログラム)をメールで提出してください。 差出人は大学発行のメール・アドレス(学生番号@cis.twcu.ac.jp)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(10月31日)を明記してください。


参考文献


[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

2025年10月31日更新
小西 善二郎 <konishi@cis.twcu.ac.jp>
Copyright (C) 2025 Zenjiro Konishi. All rights reserved.