2017-06-01 87 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。 –

回答