2017-06-01 88 views
-1

我對Scala非常陌生,所以對大多數人來說這似乎很明顯,但這是我的問題。我創建了一個簡單的類爲漢堡卡車創建門票:訪問實例變量的值scala

class Tickets() { 
    var burgerPrice = 2.00 
    var frenchFriesPrice = 1.00 
    var milkshakePrice = 3.00 
    var taxes = 0.08 

    def calculatePrices(burgersNum: Int, frenchFriesNum: Int, milkshakesNum: Int) = { 

    val price = (burgersNum*burgerPrice + frenchFriesNum*frenchFriesPrice + milkshakesNum*milkshakePrice) * (1+taxes) 

    price 
    } 
    } 

我想在這裏完成,現在創建一個對象內部的功能打印小計和每一個收到的總價格。要做這樣的事情,我已經嘗試過:

object receipt{ 
    def main(args: Array[String]) { 
    val importe = new Tickets() 

    val burgersNum = readLine("Welcome to my shop. How many burgers do you want? ").toInt 
    val frenchFriesNum = readLine("How many French fries? ").toInt 
    val milkshakesNum = readLine("Any milkshakes? ").toInt 

    println("Burgers: " + burgersNum + "Price: " + Tickets.burgerPrice) 
    } 
    } 

但試圖訪問票中的變量來獲取價格似乎並不奏效。有沒有簡單的方法,我錯過了?

+0

您還沒有通過,你是從STD輸入朗讀給您的票據對象的動態參數,是不是你想要的?另外,你的預期結果是什麼? – prayagupd

+0

如果你在沒有太多面向對象的知識的情況下開始使用scala,那麼最好直接將它作爲一種函數式編程語言來學習,以避免可變性陷阱。看一看https://stackoverflow.com/tags/scala/info爲什麼你應該使用scala。 –

回答