合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

        CS1083代做、代寫Java編程語言

        時間:2024-05-11  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



        Module 2 Assignment
        Worth 2% of your total course grade
        CS1083 – Introduction to Computer Programming II (in Java)
        Online Open Entry Version
        Instructor: Andrew McAllister
        Assignment Objectives
        The purpose of this assignment is to give you practice:
        • applying the linear search algorithm to a realistic problem
        • working with one-dimensional arrays
        • working with Java objects, including a "has a" relationship
        • generating pseudo-random numbers
        • using an incremental development approach
        General Instructions for All Assignments
        • Follow the instructions in the document "Java Coding Guidelines.pdf" available
        within the "Start Here" module, under the "Assignments" topic.
        • For each .java file you create, include a javadoc comment (one that begins with
        /**) at the beginning of the file that describes that Java class. This comment block
        should include a line that begins with @author followed by your name and
        student number on the same line. (Note: inclusion of this comment is part of the
        instructions given in "Java Coding Guidelines.pdf")
        • Include comments throughout your programs to explain any non-obvious portions
        of your code.
        • It is recommended that you create a separate folder on your computer for each
        assignment. You might even wish to create separate sub-folders within an
        assignment folder if the assignment has multiple parts. Keeping your work
        organized makes it easier to find things later when you want to review what you
        have done.
        Assignment Guide
        • Few things in life are more frustrating than losing your work while working on an
        assignment. Get in the habit of saving frequently when working on an
        assignment. Also, regularly make backup copies of any files you create as part of
        your work for this course.
        • Feel free to email your instructor if you need help in completing an assignment.
        When you do so, please attach to the email a copy of *all* files required to
        compile and run the program you are asking about, even if you downloaded
        those files from D2L. (Otherwise the instructor will have to figure out what files
        are missing and then go looking for them. Make it convenient to help you.) Also
        describe the problem you are encountering and the specific help you would like
        to receive.
        • Submitting your assignment involves creating a pdf file and uploading that single
        file to the assignment drop box on D2L. In general, that file will tend to include all
        Java code you wrote for the assignment, plus any output from running your
        programs that the assignment instructions specify you should capture. Specific
        submission instructions are included at the end of each assignment.
        • To create the pdf file for each assignment, begin by opening a new document
        using the word processing program of your choice. Save the document using the
        name “Your Name CS1083 Module x Assignment Submission.docx” Replace x
        with the correct module number. “docx” may be different depending on which
        word processing software you choose to use.
        • If you don’t already have a word processor, UNB students are able to use
        Microsoft Office 365 (includes Microsoft Word) for free, which can be accessed
        by logging in to MyUNB.
        • At the beginning of your submission document enter your name, your student
        number, CS1083, the assignment name (this one is “Module 2 Assignment”), and
        the date. It doesn’t matter if the date is when you started working on the
        assignment or when you submit it – either will do.
        • You can add content to your submission document as you work on the various
        questions in the assignment. Clearly label each part of the assignment (“Part A”
        etc.) in your document. Be sure to save frequently as you work on this document.
        • When your document is complete, save / export it as a pdf file. Always make sure
        your pdf file opens properly before uploading it.
        • To include Java code in your submission document, copy all the text in your .java
        file and then paste that text into your submission document. Use a monospaced
        font (e.g.: Consolas , Courier ) for your code to maintain proper indentation.
        Submitting code without proper indentation will result in marks being deducted.
        It’s not enough that your code is indented in your text editor or in your integrated
        programming environment – the indentation must show up that way in your
        submission document as well. This sort of thing is part of learning to be an IT
        professional.
        • To include output from running your program in your submission document, the
        preferred method is to copy and paste the text from your command prompt
        window. Include the line with the “java” command you used to run your program.
         If the text shows up as a weird font or colour in your submission document,
        first paste the text into a blank text editor document, then copy and paste from
        there into your Microsoft Word submission document. This will remove all
        formatting from the text.
         Use a monospaced font (e.g.: Consolas , Courier ) for output text in your
        Word document. This will maintain alignment of your output.
        • If at all possible, each line of code and each line of output should appear on a
        single line in your submission document. Avoid allowing lines to “wrap” around
        onto the next line. Use the tips provided in the “Avoiding Wrapped Lines” section
        on the next page to accomplish this.
        • To copy text from your command prompt window, try selecting the desired text
        and then pressing either command-c (Mac) or control-c (Windows or Linux). If
        you have issues, you can always use Google to see how to do this on your
        specific type of computer.
        • If a program involves graphical output (such as a JavaFX GUI program), capture
        a screen shot of the output and include that as a picture / image in your
        submission document.
         Make sure the image includes only the relevant portion of the screen (such
        as a GUI window). Capturing an image of your entire computer screen often
        makes the relevant portion too small to see, with tiny text that is difficult to read.
        This makes your assignment submission difficult to grade.
        • To capture a screen shot of a selected portion of your screen, try command-shift4 (Mac), WindowsKey-shift-s (Windows), or shift-PrtScrn (Linux).
        Avoiding Wrapped Lines
        In the following example, the lines of code containing the comment and the println
        statement are both too long. The text is formatted so those lines can't fit all on one line
        in this document. This obscures the indentation and makes the code more difficult to
        read.
        import java.util.Scanner;
        public class WrapExample
        { public static void main(String[] args)
        { double pay = hours * wage;
        int dollars = (int) pay;
        int pennies = (int) ((pay - dollars) * 100.0);
        // First all * and / operations are performed, left to
        right, then all + and - operations, left to right
        System.out.println("\nThe pay for " + name + " is " +
        dollars + " dollars and " + pennies + " cents.\n");
        } // end main method
        } // end class
        Below is the same code, but reformatted so none of the statements wrap around onto
        the next line. Several changes were made:
        1. The font size (in the Word document) is changed to a smaller size,
        2. The tab size (in the Word document) is reduced
        3. The longer statements and long comments are broken up onto multiple lines (do
        this in your text editor, in the .java file), and
        4. If need be, you can change the orientation of your Word document from Portrait
        to Landscape
        Now the indentation of the code within the main method is easier to see.
        import java.util.Scanner;
        public class WrapExample
        { public static void main(String[] args)
        { double pay = hours * wage;
        int dollars = (int) pay;
        int pennies = (int) ((pay - dollars) * 100.0);
        // First all * and / operations are performed, left to right
         // Then all + and - operations, left to right
        System.out.println("\nThe pay for " + name + " is " + dollars
         + " dollars and " + pennies + " cents.\n");
        } // end main method
        } // end class
        Before You Begin…
        Two important notes:
        1. This assignment is to be completed in multiple parts, with an incremental
        development approach. It is important that you read the entire assignment before
        you begin programming.
        2. Make sure you keep the work you do on this assignment. You will need it for
        upcoming assignments later in this course.
        Instructions – The RoomSchedule Class
        Write a Java program that simulates managing reservations for hotel rooms.
        Your program will keep a separate schedule for each room in a hotel by coding a
        RoomSchedule class. A RoomSchedule object contains the following information:
        Use Java’s built-in LocalDate class for all date values in your program, including the
        startDate value shown above.
        A RoomSchedule is for one room, which has a room number. The schedule has a given
        start date and extends for a given number of nights (represented by the instance
        variable scheduleLength). The RoomSchedule constructor uses scheduleLength to
        create a “schedule” array, which stores that quantity of int values. The example shown
        above has a schedule for only seven nights; a more realistic example might be to create
        a schedule for, say, the next year or more, in which case scheduleLength might be
        given as 365, or even longer. To keep things simple, we’ll stick with short schedules for
        this assignment.
        Each value in the array represents whether or not the room is reserved for a specific
        night. The first array element (index 0) represents the night of the start date. Array
        element 1 represents the following night, and so on. In the example shown above, the
        array element with index 2 represents whether room 213 is reserved for the night of
        December 18th
        .
        No date values are stored in the array. Instead, the date for any given night can be
        calculated using the start date and the index of the array element associated with that
        night. (I show you how to do that calculation a little later in this document.)
        A reservation books a specific room, where someone is scheduled to arrive at the hotel
        and check in on a specific date and to stay for a given number of nights. Each
        reservation also has a unique reservation number. We’ll use 4-digit reservation numbers
        for this assignment. (Notice we do not record any information about hotel guests.)
        For example, suppose we reserve room number 213 for someone to check in on
        December 16th and stay for three nights. Assume we assign reservation number 1000 to
        this booking. Making this reservation would change the state of the example
        RoomSchedule object to the following:
        This signifies that someone has reserved room 213 with the intention to check in on
        December 16th, stay for three nights (the 16th, 17th, and 18th), and check out the morning
        of December 19th
        . The remaining nights in the schedule (from December 19th onward)
        are still available for other reservations. The value 0 is used to represent “available”.
        Pro tip: Your code will be more readable if you create a constant called AVAILABLE
        containing the number 0, and use that constant in your code wherever 0 means
        “available”.
        Let’s try making reservation number 1001, checking in on December 21st and staying
        two nights. We end up with this schedule:
        By the way, if reservation number 1001 was for three or more nights, then we would be
        attempting to go beyond the last day in the schedule. Such a reservation would not
        succeed; no change would be made to the schedule array. The same would be true if
        we attempt any reservation that includes any nights before the start of the schedule or
        that are already reserved.
        For example, suppose we attempt to make reservation number 1002 for the night of
        December 17th. We can see in the schedule that this overlaps with reservation number
        100, and thus the schedule for room 213 would not be changed.
        But let’s suppose reservation number 1000 is canceled. This changes the schedule for
        room 213 to the following:
        Now we could make reservation 1002 and end up with this schedule:
        So far, you’ve seen the effect of two methods for the RoomSchedule class:
        makeReservation and cancelReservation.
        makeReservation either (a) successfully adds a reservation to the schedule and returns
        true (indicating the reservation was made), or (b) finds the reservation cannot be made
        and returns false.
        cancelReservation either (a) successfully removes a reservation from the schedule and
        returns true (indicating the cancellation succeeded), or (b) finds that the given
        reservation number is not in the schedule for this room and returns false (indicating the
        cancellation did not succeed).
        We also want to be able to confirm a reservation. Given a reservation number, perform
        a sequential search of the schedule array to see if that reservation exists for this room.
        If found, that method should return the:
        • reservation number
        • room number
        • check in date
        • check out date
        “But hold on,” you might say, “a Java method can only return one value. How can the
        confirmReservation method return all the information you just listed?”
        Well, isn’t Java an object-oriented programming language? The confirmReservation
        method returns an object containing those four values, which means you need to code a
        Java class to enable this. I suggest Reservation as the name of this class.
        If a given reservation number is not found in this room’s schedule, then the
        confirmReservation method returns null.
        Also include a toString method in the RoomSchedule class. For the most recent
        schedule status shown above, toString() should produce a String value similar to the
        following:
        Schedule for room #: 213
        ========================
        2023-12-16 0
        2023-12-17 1002
        2023-12-18 0
        2023-12-19 0
        2023-12-20 0
        2023-12-21 1001
        2023-12-22 1001
        ========================
        Also include a method called conciseString in your RoomSchedule class, which for the
        most recent schedule status shown above should produce a String value that can be
        displayed on one line, similar to the following:
        213 -*---**
        This conciseString output includes the room number (in this case 213), to the right of
        which appears the same number of dashes (-) and asterisks (*) as there are nights in
        the schedule. A dash indicates a night that is available; an asterisk indicates a night that
        is reserved. The conciseString output shown above includes one asterisk for reservation
        number 1002, and two asterisks because of reservation number 1001.
        Instructions – LocalDate
        As mentioned above, you are to use Java’s LocalDate class for representing all date
        values for this assignment.
        You can find documentation on the LocalDate class here. A Google search with a
        phrase like “Java LocalDate tutorial” will provide you with examples of using this class.
        Here are the LocalDate capabilities you are likely to need for this assignment:
        • Importing two required classes:
        import java.time.LocalDate;
        import java.time.temporal.ChronoUnit;
        • Creating a LocalDate value that is some number of days (an int value) after a
        given LocalDate value:
        givenDate.plusDays(someNumberOfDays)
        • Checking whether one LocalDate value is before another. This returns a boolean
        result:
        oneDate.isBefore(anotherDate)
        • Checking whether one LocalDate value is after another. This returns a boolean
        result:
        oneDate.isAfter(anotherDate)
        • Calculating how many days are between two dates:
        int index = (int) startDate.until(checkInDate, ChronoUnit.DAYS);
        • Converting a LocalDate value to a String so it can be displayed, or so it can be
        concatenated with another String. This produces a String in the default format
        "2023-12-16":
        someDate.toString()
        • Creating a LocalDate object for the current date:
        LocalDate.now()
        Instructions – The HotelSchedule Class
        Write a HotelSchedule class that simulates managing reservations for several rooms in
        a hotel.
        The HotelSchedule constructor accepts these three parameters:
        • The quantity of rooms
        • The start date for the schedule
        • The number of nights in the schedule (scheduleLength)
        Based on those three values, the constructor creates an object you can envision as
        follows:
        The “rooms” instance variable is an array of RoomSchedule objects. The length of this
        array is given by roomQuantity.
        Each RoomSchedule object is given the same startDate and scheduleLength.
        Use Java’s Random class to help generate a pseudo random room number to pass in
        each time the HotelSchedule constructor invokes the RoomSchedule constructor.
        Assume the hotel has three floors and at most twenty rooms on each floor. That means
        the room numbers you generate must be in the range 10**120, 20**220, or 30****0.
        The code you write to generate a room number must make any one of those sixty
        values equally likely.
        Furthermore, each time you generate a possible room number for a particular element
        in your “rooms” array, your code must make sure you have not already assigned the
        same number to another room in the array. There must be no duplicate room numbers.
        As you can see from the example on the preceding page, this approach will assign
        room numbers in a jumbled order. This is on purpose. An upcoming assignment
        involves writing code to sort the rooms in order. For now, leave them in the jumbled
        order.
        Your HotelSchedule class will support the same three tasks as your RoomSchedule
        class:
        • Make a reservation
        • Cancel a reservation
        • Confirm a reservation
        Each of those three HotelSchedule methods uses the RoomSchedule method of the
        same name to help accomplish the task.
        For example, the HotelSchedule makeReservation method accepts a check in date,
        number of nights, and reservation number … which happens to be exactly the same
        information required by the makeReservation method in the RoomSchedule class.
        The HotelSchedule makeReservation method performs a sequential search beginning
        with the first room in the array. Call the makeReservation method for that room and
        capture the boolean result. Keep looping through the rooms as long as you haven’t
        checked all the rooms yet and no room reports a successful reservation. Once the
        reservation is made, do not continue looping through the rest of the rooms.
        The HotelSchedule makeReservation method returns true if the reservation succeeded
        with one of the rooms, or false if you went through all the rooms and every reservation
        attempt failed.
        The HotelSchedule cancelReservation and confirmReservation methods follow
        essentially the same algorithm as makeReservation, except of course
        confirmReservation returns a Reservation object rather than a boolean result. You will
        find that your code for these three methods is very similar.
        To help with testing, include a getRoomSchedule method in your HotelSchedule class.
        Given an array index, this method returns a pointer to the corresponding
        RoomSchedule object from the “rooms” array.
        Also include a toString method in HotelSchedule. This method uses the conciseString
        method from the RoomSchedule class to help produce a result similar to the following:
        Rm# Reservations
        === ============
        213 ***-**-
        109 --****-
        306 -------
        102 -------
        214 -------
        === ============
        This display is consistent with the five RoomSchedule objects shown on a previous
        page as part of a HotelSchedule object, only after a few reservations have been made.
        Recall that the start date for this hotel schedule is December 16th
        , 2023. Assume we
        start with no reservations, and we attempt to make a first reservation beginning on the
        16th for three nights. Your code should loop through the rooms, attempting to make the
        reservation with each one, starting with room 213. Since the entire schedule is
        available, the reservation will be made in room 213, and no other rooms will be
        checked. That three-night reservation is represented by the first three asterisks for room
        213 in the display above.
        Assume the second reservation attempt is to check in on the 18th and to stay four
        nights. Again, your code will loop through all the rooms, starting with room 213. That
        attempt will fail, because the first reservation already includes the 18th for room 213, so
        your code will then call makeReservation for room 109. That attempt will succeed,
        which is reflected by four asterisks in the display above.
        Finally, suppose we attempt a third reservation with a check in on the 20th, staying two
        nights. Room 213 has availability for those two nights, so that is where the reservation
        is made.
        Instructions – Sequential Search Hints
        This assignment requires you to use a sequential search algorithm as part of several
        different tasks. For example, when making a reservation in the RoomSchedule class,
        you must search through the requested nights to see if they are all available. When
        making a reservation in the HotelSchedule class, you must search through the rooms to
        see if a room succeeds in making the reservation.
        Sequential searches are also required for the cancel and confirm operations.
        These searches share a similar characteristic; the search should stop when the desired
        result is found. For example, the makeReservation operation should not continue after a
        reservation has been made. The cancelReservation operation should not continue once
        the specified reservation has been located and canceled.
        A common coding mistake with this type of operation is to write a “for” loop that iterates
        through the entire array. Instead, I recommend you use a “while” loop that stops when
        the desired result has been achieved.
        A common coding pattern to achieve this is as follows:
        int i = startingIndex; // Often this is 0, but not always
        boolean done = false;
        while (i < arraySize && !done)
        { if ( /*you find what you are searching for*/ )
        done = true;
        else
        i++;
        }
        // Often what you do here will depend on what kicked you out of
        // the loop. You can use i and done to determine this.
        You will likely use some variation of this coding pattern multiple times in completing this
        assignment.
        Instructions – Incremental Development
        I often receive emails from students whose code compiles but there is an error when
        attempting to run the program. Either the program crashes or produces an unexpected
        result. This type of error can be difficult to find, especially with an assignment like this
        one that involves a fair amount of code … and especially when a student writes all the
        code for an entire assignment and only then tries to run and debug the program.
        The problem with that strategy is that it can be difficult to know what code might be
        causing the issue.
        To help with this, I encourage incremental development, where you code a little, test a
        little, code a little, test a little, and so on. This can save you so much time and so many
        headaches. The advantage is that when an error occurs, it’s almost certain to be in the
        little bit of code you just wrote. It’s much easier to locate any problems in your code.
        This assignment forces you to use incremental development by splitting the work into
        six parts, as described below.
        Part A
        For the RoomSchedule class, code just the following:
        • Instance variables
        • Constructor
        • toString() method
        Write a test class that creates a RoomSchedule office starting with the current date (use
        the “now” method), with a schedule length of two weeks. Use the toString() method to
        display this schedule. All dates should show as 0, meaning available.
        Create a clearly labeled “Part A” section in your submission document. Include in this
        section:
        • The source code for both classes
        • The output from running your testing code
        Part B
        Add a makeReservation method to the RoomSchedule class.
        Add to your test class:
        • Two calls to makeReservation that succeed
        • One call to makeReservation that fails because at least one of the requested
        dates is before the start of the schedule
        • One call to makeReservation that fails because at least one of the requested
        dates is after the end of the schedule
        • One call to makeReservation that fails because at least one of the requested
        dates overlaps with an existing reservation
        Embed each makeReservation call within an if condition, and display an appropriate
        message depending on whether the reservation succeeds. Each message should
        include sufficient information so the meaning of each test case output is clear.
        Use the toString() method a second time to display the schedule after reservations have
        been made.
        Create a clearly labeled “Part B” section in your submission document. (Each section
        should start on a new page.) Include in this section:
        • The updated source code for both classes
        • The output from running your testing code
        Part C
        Add the cancelReservation and conciseString methods to the RoomSchedule class
        Add to your test class:
        • One call to cancelReservation that succeeds
        • One call to cancelReservation that fails
        Embed each cancelReservation call within an if condition, and display an appropriate
        message depending on whether the cancellation succeeds. Each message should
        include sufficient information so the meaning of each test case output is clear.
        Use the toString() method a third time to display the schedule after cancellations have
        been made. Also call the conciseString() method so you can see that the two outputs
        are consistent.
        Create a clearly labeled “Part C” section in your submission document. Include in this
        section:
        • The updated source code for both classes
        • The output from running your testing code
        Part D
        Add a confirmReservation method to the RoomSchedule class. Also write the
        Reservation class, which is necessary for confirmReservation to work.
        Add to your test class:
        • One call to confirmReservation that succeeds in returning a Reservation object
        • One call to confirmReservation that returns null
        Embed each confirmReservation call within an if condition, and display appropriate
        information so the outcome of each test case. When a Reservation object is returned,
        call the toString method from that class to show the test result.
        Create a clearly labeled “Part D” section in your submission document. Include in this
        section:
        • The source code for all three classes
        • The output from running your testing code
        Part E
        Begin writing the HotelSchedule class with just the following functionality:
        • The ability to construct a HotelSchedule object with unique, randomly assigned
        room numbers
        • A toString() method
        Create a new test class that only does the following:
        • Creates a HotelSchedule object with 10 rooms, today’s date as the start date,
        and a schedule that is two weeks long
        • Calls toString() to display this HotelSchedule.
        Create a clearly labeled “Part E” section in your submission document. Include in this
        section:
        • The source code for HotelSchedule and your new test class
        • The output from running your new testing code. You should see that all 14 nights
        for all 10 rooms show as available.
        Part F
        Add all remaining functionality as described earlier in the document. Add to your new
        test class appropriate testing code for this newly added functionality.
        Create a clearly labeled “Part F” section in your submission document. Include in this
        section:
        • The source code for all classes
        • The output from running your testing code.
        Submission Instructions
        Include the following in your submission document:
        Your name, student number, CS1083, Module 2 Assignment, and the date.
        Complete source code and testing output for each of Sections A through F as
        described above.
        D2L DROPBOX SUBMISSION INSTRUCTIONS
        Upload only one pdf file to D2L. Do not upload separate files (such as your .java
        files) as they will be ignored. Upload your submission document as follows:
        1. In the top-navigation bar on the course screen, select 'Assessments' and then
        'Assignments'.
        2. Select the assignment title and follow the instructions to upload your submission
        document.

        請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp











         

        掃一掃在手機打開當前頁
      1. 上一篇:CPT204代寫、代做Java設計程序
      2. 下一篇:菲律賓旅游簽最長續簽多久(旅游簽可以續簽多長時間)
      3. 無相關信息
        合肥生活資訊

        合肥圖文信息
        挖掘機濾芯提升發動機性能
        挖掘機濾芯提升發動機性能
        戴納斯帝壁掛爐全國售后服務電話24小時官網400(全國服務熱線)
        戴納斯帝壁掛爐全國售后服務電話24小時官網
        菲斯曼壁掛爐全國統一400售后維修服務電話24小時服務熱線
        菲斯曼壁掛爐全國統一400售后維修服務電話2
        美的熱水器售后服務技術咨詢電話全國24小時客服熱線
        美的熱水器售后服務技術咨詢電話全國24小時
        海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
        海信羅馬假日洗衣機亮相AWE 復古美學與現代
        合肥機場巴士4號線
        合肥機場巴士4號線
        合肥機場巴士3號線
        合肥機場巴士3號線
        合肥機場巴士2號線
        合肥機場巴士2號線
      4. 幣安app官網下載 短信驗證碼 丁香花影院

        關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

        Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
        ICP備06013414號-3 公安備 42010502001045

        主站蜘蛛池模板: 精品91一区二区三区| 国产成人午夜精品一区二区三区| 久久久国产精品无码一区二区三区| 91视频一区二区| 久久久久人妻精品一区三寸| 亚洲成a人一区二区三区| 一区二区三区国产| 激情亚洲一区国产精品| 色一情一乱一伦一区二区三区日本| 国产在线不卡一区二区三区| 精品日韩一区二区三区视频| 国产产一区二区三区久久毛片国语| 成人精品视频一区二区三区不卡 | 无码精品人妻一区二区三区免费| 亚洲日韩国产一区二区三区在线 | 国产凹凸在线一区二区| 国产爆乳无码一区二区麻豆| 波多野结衣中文字幕一区| 精品人伦一区二区三区潘金莲| 久久一区二区三区免费| 精品国产一区二区三区av片| 国产成人亚洲综合一区| 亚洲一区二区三区免费观看| 国偷自产av一区二区三区| 91精品一区国产高清在线| 中文字幕av无码一区二区三区电影| 日本免费一区尤物| 亚洲AⅤ视频一区二区三区| 国产精品福利一区| 中文字幕一区二区区免| 日韩人妻无码一区二区三区| 亚洲不卡av不卡一区二区| 看电影来5566一区.二区| 99久久精品国产一区二区成人| 亚洲国产一区二区三区青草影视| 美女一区二区三区| 3D动漫精品一区二区三区| 色婷婷av一区二区三区仙踪林| 国产免费一区二区三区VR| 日韩人妻无码一区二区三区久久99| 日韩在线不卡免费视频一区 |