問題 商品名と支払い金額を入力すると、お釣りの「小銭の枚数」を返す関数またはメソッドを実装せよ。商品名と価格は以下の通り。 お茶: 120円 コーラ: 150円 エナジードリンク: 280円 入力される通貨は日本円で、最大1000円までとする。 また、有効な貨幣は「500円」「100円」「50円」「10円」とする。 たとえば、「1000円でお茶を購入」すると、返却すべき金額は880円だが、釣銭は「500円×1, 100円×3, 50円×1, 10円×3」となる。返り値は、任意の形式のクラス、連想配列、オブジェクト、構造体、リストなどで表現してよい。 返り値は、この関数が他のエンジニアにより使われることを考慮し、使いやすい値とすること。 ```otusiri.kt fun return(drink: Drink, price: Int): String { val otsuri = 0 when(drink) { "お茶"->{ otsuri = price - 120 } "コーラ"->{ otsuri = price - 150 } "エナジードリンク"-{ otsuri = price - 280 } } otsuri = price - drink.price val kaheiList = listOf(500, 100, 50, 10) val kaheiMap = HashMap<Int, Int>() var returnKaheiList = arrayListOf() for (kahei in kaheiList) { var kaheiCount = 0 while(otsuri > 0){ otsuri -= kahei if (otsuri > 0){ kaheiCount++ } else { otsuri += kahei returnKaheiList.add(kaheiCount) kaheiMap.set(kahei, kaheiCount) break } } } data class Drink ( val name: String, val price: Int ) } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up