ログログ

34歳からプログラマになった僕が学んできたこと

Java

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

投稿日:

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

 

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

自社研修で行っている

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

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

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

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

 

達成目標

対象

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

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

テーマの位置づけ

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

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

達成目標

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

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

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

 

フローチャート

 

機能詳細

商品リスト初期化

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

入金

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

商品選択

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

販売

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

課金

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

 

サンプルコード

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

 

最後に

少しずつでもいいのでレベルアップしていけるようにと執筆しました。
あなたのお役に立てたら幸いです。

-Java
-,

執筆者:


comment

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

CAPTCHA


関連記事

【Java】Stringのequalsで定数を左側にする理由

JavaのStringでequalsによる等価判定を行う場合に、 比較対象となる定数は左側にする理由はNullPointerExceptionを回避するためです。 以降、NullPointerExce …

pageEncodingとcontentTypeのcharsetの違い

pageEncodingとcontentTypeのcharsetは処理されるタイミングが異なります。 それによって文字化けの原因につながっているので、どのように設定すればいいかを解説していきます。 目 …

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

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

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

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

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

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