为了账号安全,请及时绑定邮箱和手机立即绑定

Java 编码 - 创建答案变量的多个变量

Java 编码 - 创建答案变量的多个变量

慕哥6287543 2021-06-04 18:43:20
需要来自编码之神的指导,告诉我如何让我的代码做我需要的。所以情况是: 我需要告诉程序运行票价乘以购买的票数的计算。看起来容易吗?但是- 在此之前有三个变量。见下文:    int TicketType = 0;    double ChildTicket = 18.00;    double AdultTicket = 36.00;    double SeniorTicket = 32.50;    int TicketQuantity = 0;    double TotalCost = ?本质上 - 我需要从伪代码级别发生什么才能使这更容易:Compute TotalCost = Result of ticket type (ChildTicket,AdultTicket or SeniorTicket) * TicketQuantity任何帮助都会很棒!:)
查看完整描述

3 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

您可以使用switch语句来找出TicketType(儿童、成人、老年人)以及price单张票的票数:


double price;

switch(TicketType){

    case 1:

        price = ChildTicket;

        break;

    case 2:

        price = AdultTicket;

        break;

    case 3:

        price = SeniorTicket;

        break;   

    default:

        // use default value for price or throw an error

}

那么乘以price用TicketQuantity得到TotalCost:


double TotalCost = price * TicketQuantity;

注意: Java 命名约定说,变量应该总是以小写字母开头,而不是TotalCost喜欢totalCost等。


查看完整回答
反对 回复 2021-06-10
?
当年话下

TA贡献1890条经验 获得超9个赞

您可以将变量作为值存储到双精度数组中,然后可以使用 TicketType 中的索引访问该值。像这样:


int TicketType = 0;

double ticketsValues[] = [18.00,32.00,32.50]; //The first position is ChildTicket, the 2nd AdultTicket and so..

int TicketQuantity = 0;

double TotalCost = ticketsValue[TicketType] * TicketQuantity;//Here you access to the value depending on the TicketType.



查看完整回答
反对 回复 2021-06-10
?
大话西游666

TA贡献1817条经验 获得超14个赞

有不同的方法来解决这个问题。


我建议Enum为不同类型的票创建一个。


public enum TicketType {

    SENIOR(32.50D),

    ADULT(36.00D),

    CHILD(18.00D);


    private final double price;


    TicketType(double price) {

        this.price = price;

    }


    public double getPrice() {

        return price;

    }


    public double getCalculatedPrice(int ticketAmount) {

        return price * ticketAmount;

    }

}

相反,您也可以尝试这种方式


int ticketType = 0; //change

double[] prices = {32.50D, 36.00D, 18.00D}; //Senior, Adult, Child

int ticketQuantity = 0; //change

int totalCost = prices[ticketType] * ticketQuantity;

您应该检查的一些补充ticketType是不大于或小于prices大小以避免ArrayIndexOutOfBoundsException. 您还应该检查数量是否不小于零。


查看完整回答
反对 回复 2021-06-10
  • 3 回答
  • 0 关注
  • 215 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信