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】MySQLから取得した日付をフォーマット変換して表示する方法

MySQLからSELECTしてきた日付データ(DateTime型)を、 「yyyy年MM月dd日 hh時mm分ss秒」のフォーマットで表示する方法です。 コード [crayon-5f09f9bc216 …

【Spring】バリデーション時に、入力値を保持する方法

登録画面で「登録」ボタンを押した後、 バリデーションで引っ掛かってエラーになっても 入力内容を画面に保持して置く方法についてです。 テンプレートエンジンは、Tymeleafを使用しています。 方法とし …

【Java】LinkedHashSetの使い方(挿入順を保持するSet)

LinkedHashSetはHashSetのサブクラスであり、同じメソッドが実装されています。 メソッドの使い方であればHashSetと同じなので、HashSetの使い方を参照下さい。  ↓ 【Jav …

【Javaサンプル】自動販売機(Level2) メソッドに小さく分割する

前回の自動販売機(Level1)では、まず動くものを作りました。 そこでは1つのメソッド(Main)にすべてをコーディングしていましたが、 これを機能ごとに分割していきます。 実際の仕事では、1つの大 …

【JdbcTemplate】IN句に値を入れて複数件取得する方法

JdbcTemplateでIN句に毎回異なる数の値をセットして、 複数のレコードを取得する場合は、「NamedParameterJdbcTemplate」で取得することができます。 コード例 [cra …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

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