Java

【Javaサンプル】自動販売機を作成(Level1)

投稿日:2019年12月5日 更新日:

Javaの勉強用サンプルです。
テーマは自動販売機。
プログラミング初心者向けに書いています。

 

自動販売機を題材として選んだ理由

自社研修で行っている

自社研修で自動販売機を作成したので、自分にとっては取り組みやすかったということ。
最初に作ったとき、「わかっているようでわかっていなかった」
ということを感じました。

お金を入れて、
買える商品だけが表示されて、
選んだら商品が提供され・・・
という流れをプログラムで実現すると、
意外と考えさせられました。

身近なもので誰でもよく知っている

他の誰かに教える、やってもらうという場合も、
すでによく知られているということは教え易さでもあります。

 

達成目標

対象

Javaの基本を学んだ初学者。

if文、for文、while文等の基本的な構文について学習済の方が対象です。

テーマの位置づけ

Javaを使ってプログラミングの経験を積む初期の練習題材。

基本的な構文は理解したが、実際に作るとなるとなった場合、
実際に作るという経験が必要になってきます。

達成目標

フローチャートと機能詳細元にプログラミングができる。

実務では設計書を見ながらプログラミングをすることになりますし、
場合によっては設計書無しということもあります。

ここではそのための練習としています。

 

フローチャート

 

機能詳細

商品リスト初期化

商品は以下の3つ固定とする。
コーラ100円
オレンジジュース120円
水80円

入金

1円単位で入金可能とする。
購入可能な最低金額が入金されるまで入金を促す。
(今回の場合、水の80円以上)

商品選択

入金額の範囲で商品を表示する。
商品名で選択する。

販売

選択した商品を提供する。

課金

入金額から購入金額を引く。
釣銭を返す。

 

サンプルコード

参考までに、Qiitaにアップしています。
https://qiita.com/TakumiKondo/items/e93aa60031e2fe09d969

 

最後に

まずは書いてみる、動かしてみるが上達の第1歩です。
ぜひ少しずつでもいいので、日々コーディングしていってください。

 

Level2

次のLevel2では、メソッドに小さく分割していきます。
【Javaサンプル】自動販売機(Level2) メソッドに小さく分割する

-Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

【Javaサンプル】自動販売機(Level3) クラス分け

自動販売機(Level2)では、小さいメソッドに処理を切り出すことを学びました。 しかし、まだMainクラス1つの中で完結しているプログラムです。 オブジェクト指向言語であるJavaを使うなら、クラス …

【JdbcTemplate】Queryの書き方(更新系)

  目次 前提usersテーブルUserクラス準備INSERTUPDATEDELETEまとめ 前提 以下のテーブル(users)を持ち、格納するのはUserクラスという想定で説明していきます …

【Java】文字列の完全一致と部分一致を判定する方法

Javaで文字列の完全一致と部分一致を判定してBooleanを受け取る方法です。 一致させる条件は、文字列固定の場合と正規表現の場合を掲載しています。 目次 コード説明 コード [crayon-5e2 …

オブジェクト指向でじゃんけんを作ってみる

最近、プログラム自体を書いていない時間を多いので、再勉強がてら少しコードを書いてみました。 目次 何を作ったか?OOPで考慮したこと設計上の条件動作例ソースコード 何を作ったか? テーマ:じゃんけん( …

【Java】MySQLから取得した日付をフォーマット変換して表示する方法

MySQLからSELECTしてきた日付データ(DateTime型)を、 「yyyy年MM月dd日 hh時mm分ss秒」のフォーマットで表示する方法です。 目次 コード説明Date型変数への格納なぜDa …

SpringFramworkの良書

Javaの基本を学んだ人が、次のステップ(Frameworkでの実装)として読む本。

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。