お題
簡単なお題でArrayListの練習をしよう。
実行例
お菓子の情報を入力していって、合計を求める。途中お菓子名にeまたはEが入力されるとお菓子登録を抜ける
菓子名>>キャベツ太郎
価格>>30
菓子名>>どんどん焼き
価格>>20
菓子名>>うまい棒
価格>>10
菓子名>>チロルチョコ
価格>>20
菓子名>>e
---お菓子一覧---
菓子名:キャベツ太郎,価格:30円
菓子名:どんどん焼き,価格:20円
菓子名:うまい棒,価格:10円
菓子名:チロルチョコ,価格:20円
合計で80円だよ!
手順
◯新規クラスSnackMain.javaを作成する。内容は以下
public class SnackMain {
public static void main(String[] args) {
}
}
◯SnackMainクラスの下にSnackクラスを作成する。記述は以下
public class SnackMain {
public static void main(String[] args) {
}
}
class Snack{
}
以下はSnackクラスに記述していくこと
◯フィールド変数
String name
int price
◯コンストラクタ
nameとpriceを初期化するコンストラクタ
◯メソッド
void showInfo(){}
インスタンスの情報を表示する。以下はキャベツ太郎の例
菓子名:キャベツ太郎,価格:30円
mainメソッド内の作成
◯Scanner インスタンス scを作成する
◯ArrayListインスタンスsnacksを作成する
◯while(true){}の無限ループを作成する
以下はwhileループの中に記述
◯[菓子名>>]と改行なしに表示
◯キーボードからの入力を変数 name で受け取る
◯if文でもし、nameがeかEのときにループをbreakする処理を書く
◯[価格>>]と改行なしに表示
◯キーボードからの入力を変数priceで受け取る
◯2つの情報をもとにSnackインスタンスを作成し、リスト(snacks)に追加する
以下はwhileループの外に記述
◯[–お菓子一覧–]と出力
◯合計を管理する変数 int sum を 0で初期化
◯拡張for文を使って、リスト(snacks)からインスタンスを一つずつ取り出す
以下は拡張forの中に記述
◯snackインスタンスがshowInfo()を使って情報表示をする
◯sumにsnackの価格を加算する
以下は拡張forの外に記述
◯合計金額を表示する
コメント