⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cancel.java

📁 This project developed in java leads us to realize a flight reservation system in order to emulate d
💻 JAVA
字号:
/* * Cancel.java * The package functions contains the different class executing the different functions of the FlightSystem Reservation. */package reservation.system.functions;import java.util.HashSet;import java.util.Set;/** * This class hold Cancel structure. This object allows to cancel a reservation for different person or for a whole of person by calling the methods <CODE>cancel</CODE> in {@link reservation.system.FlightSystem}. * @author Texier Mathieu and Frederic Bidon */public class Cancel extends Functions {         /**     * Cancel several person or a whole of person if the command <CODE>cancel</CODE> and their arguments are correct.     * @throws Exception if a person name is duplicated or if the person are not canceled.     * @return a confimation's message if the person(s) or the bookingNumber are canceled.     */    public String execute () throws Exception {        boolean valid;        if (arg.length > 1) {            Set setPersonNames = new HashSet ();            for (int i = 1; i< arg.length; i++)                setPersonNames.add (arg[i]);                        if (setPersonNames.size () != arg.length-1)                throw new Exception ("no duplicate name are allowed in reserve comande");            valid = fs.cancel (Integer.parseInt (arg[0]), setPersonNames);        }        else            valid = fs.cancel (Integer.parseInt (arg[0]));                if (valid) {            return "Flight canceled \r\n" +            "We are Sorry, if our compagny does not fully satified you and we hope to see you soon.\r\n";        } else {throw new Exception ("The person are not succesfully canceled");}    }         /**     * Verify that at least one flight is created and also one reservation has been made.     * Verify invariants :     * <PRE>     * - Arguments not null     * - <CODE>bookingNumber</CODE> belongs to [1 <CODE>fs.getBookingNumberMax</CODE>]     * </PRE>     * @throws Exception if the invariants is violated     */    void _check (String[] arg) throws Exception {        try {        CheckFlightListNotEmpty ();        CheckBookingListNotEmpty ();        ArgumentIsValid (arg, 1, (short) NUMBER_ARGUMENT_MAX);        if (!checkInteger (arg[0], 1, fs.getBookingNumberMax ()))            throw new Exception ("The argument booking number has to be an integer");        } catch (Exception e) {            throw new Exception (e.getMessage ()+ "\r\n" + usage ());        }    }        /**    * Display the usage for the command <CODE>cancel</code>.    * @return the usage.    */    static public String usage () {        String usage = " Usage command cancel: cancel <bookingNumber> [personName1] [personName2] [...]\n\r";        usage += " - The <bookingNumber> is a number and cannot be inferior to 0. \r\n";        usage += " - The arguments <personNameX> which follow correspond to the name of the \n\r";        usage += "  different persons that you want to register on the flight.\r\n";        usage += "\t The first letter of each passenger must be in  uppercase and \n\r";        usage += " all the other in lowercase.\n\r ";        usage += "\t The number of name cannot be superior to the free place of the plane.\n";        return usage;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -