首页 > 解决方案 > 票价计算

问题描述

使用以下私有变量创建一个类 Ticket

int ticketid;
int price;
static int `availableTickets`;

在 Ticket 类中包含 getter 和 setter 方法。可用门票应仅持有正值。不允许零值和负值。(这个逻辑应该在对应的setter方法里面检查)在Ticket类中写如下方法:

public int calculateTicketCost(int no_of_tickets) 

— 此方法应检查票的可用性,如果票可用,则减少no_of_ticketsavailable_Tickets并计算总金额为nooftickets*price并返回总金额。如果票不可用,此方法应返回 -1。在 Main 类中编写一个 main 方法来测试应用程序。

样本输入和输出

Enter no of bookings:
2
Enter the available tickets:
25
Enter the ticket id:
123
Enter the price:
100
Enter the no of tickets:
5
Available tickets: 25
Total amount:500
Available ticket after booking:20
Enter the ticket id:
124
Enter the price:
100
Enter the no of tickets:
2
Available tickets: 20
Total amount:200
Available ticket after booking:18

标签: javaclassstatic

解决方案


票务.java

public class Ticket{
private int ticketid;
private int price;
private static int availableTickets;

public void setTicketid(int ticket) //setter
{
    ticketid = ticket;
}
public int getTicketid() //getter
{
    return ticketid;
}


public int getPrice() //getter
{                       
    return price; 
}
public void setPrice(int prc) //setter
{
    price = prc;
    
}

public static int getAvailableTickets() //getter
{                  
        return availableTickets;
}
public static void setAvailableTickets(int availTicket) //setter
{
    if(availTicket > 0)
        availableTickets = availTicket;
}

public int calculateTicketCost(int nooftickets)//Check ticket availability
{
    int tik = getAvailableTickets();
    if(nooftickets > tik)
        return -1;
    
 
    tik -=  nooftickets;
    setAvailableTickets(tik);
    return price * nooftickets;
    
}

}

主.java

import java.util.*;

公共类主{

public static void main (String[] args) {
    
    Scanner s = new Scanner(System.in);
    Ticket t = new Ticket();
    
    System.out.println("Enter no of bookings:\n");
    int no = s.nextInt();
    
    System.out.println("\nEnter the available tickets:\n");
    int availableTicket = s.nextInt();
    t.setAvailableTickets(availableTicket);
    
    do{
        
    System.out.println("\nEnter the ticketid:\n");
    int tickedId = s.nextInt();
    t.setTicketid(tickedId);
    
    System.out.println("\nEnter the price:\n");
    int price = s.nextInt();
    t.setPrice(price);
    
    System.out.println("\nEnter the no of tickets:\n");
    int bookTickets = s.nextInt();
    
    System.out.println("\nAvailable tickets:"+t.getAvailableTickets());
    System.out.println("\nTotal amount:"+t.calculateTicketCost(bookTickets));
    System.out.println("\nAvailable ticket after booking:"+t.getAvailableTickets());
    
    no--;
    }while(no>0);
}

}


推荐阅读