国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

CS1083代做、代寫Java編程語言

時間:2024-05-11  來源:合肥網(wǎng)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











 

掃一掃在手機打開當(dāng)前頁
  • 上一篇:CPT204代寫、代做Java設(shè)計程序
  • 下一篇:菲律賓旅游簽最長續(xù)簽多久(旅游簽可以續(xù)簽多長時間)
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強度疲勞振動
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)40個行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務(wù)平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 寵物飼養(yǎng) 十大衛(wèi)浴品牌排行 suno 豆包網(wǎng)頁版入口 wps 目錄網(wǎng) 排行網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    久久夜色精品国产欧美乱| 日日噜噜噜夜夜爽亚洲精品| 91久久精品美女| 日韩区国产区| 国产精品av在线| 97久久伊人激情网| 91国视频在线| 久久综合久久网| 国产黄色激情视频| 久久久精品日本| 波多野结衣久草一区| 国产精品97在线| 久久久久久综合网天天| 精品国产乱码久久久久久丨区2区| 国产精品福利无圣光在线一区| 欧美一级欧美一级| 成人做爰www免费看视频网站| 亚洲va久久久噜噜噜| 一区二区不卡在线视频 午夜欧美不卡' | 成人精品久久一区二区三区| 亚洲 高清 成人 动漫| 蜜臀av.com| 国产精品手机在线| 日韩中文字幕视频在线| 黄色片久久久久| 欧美亚洲另类在线| 欧美少妇在线观看| 国模一区二区三区私拍视频| 国产精品永久免费视频| 99国产盗摄| 日韩亚洲欧美中文高清在线| 国产精品视频一区国模私拍| 欧美激情区在线播放| 色乱码一区二区三区熟女| 欧美久久久久久一卡四| 成人综合视频在线| 久热国产精品视频| 在线丝袜欧美日韩制服| 日韩激情久久| 国产精品一级久久久 | 黄色一级一级片| 99久久自偷自偷国产精品不卡| 国产成人精品av在线| 国产精品盗摄久久久| 天堂精品视频| 国产日韩精品久久| 国产对白在线播放| 精品伦精品一区二区三区视频| 亚洲va码欧洲m码| 韩国欧美亚洲国产| 91精品国产91久久久久福利| 国产精品人人做人人爽| 亚洲欧洲精品一区二区三区波多野1战4| 日日碰狠狠丁香久燥| 男人添女人下部高潮视频在观看| 国产精品一区视频| 国产精品视频白浆免费视频| 春日野结衣av| 高清视频在线观看一区| 久久久999国产精品| 午夜精品一区二区三区在线观看| 精品午夜一区二区三区| www.久久久久| 日本一区免费在线观看| 成人中文字幕av| 国产精品欧美日韩一区二区| 午夜精品久久久久久99热软件| 国模精品一区二区三区色天香| 国产成人艳妇aa视频在线| 欧美成人免费在线观看| 青青青在线播放| 91久久精品国产91久久| 欧美激情小视频| 国产日韩在线精品av| 国产精品久久久久久久乖乖| 全黄性性激高免费视频| 久久免费福利视频| 天天干天天色天天爽| 97免费在线视频| 精品久久久久久亚洲| 国产在线视频91| 国产精品久久久久影院日本| 欧美一区观看| 丝袜亚洲欧美日韩综合| 亚洲a级在线观看| 分分操这里只有精品| 欧美久久久精品| 国产女主播av| 一本久道久久综合狠狠爱亚洲精品| 国产资源在线视频| 国产精品高潮粉嫩av| 蜜臀久久99精品久久久酒店新书| 国产精品日韩欧美综合| 国内精品久久久久| 欧美久久精品午夜青青大伊人| 国产欧美日韩精品专区| 久久久久久97| 99精品人妻少妇一区二区| 一区二区三区精品国产| 国产精品午夜视频| 一区二区不卡在线观看 | 91精品视频专区| 国产成人小视频在线观看| 久久精品日韩| 日本欧美国产在线| 激情六月天婷婷| 国产精品久久亚洲7777| 日本国产在线播放| 国产精品成人国产乱一区| 免费无遮挡无码永久视频| 91精品国产91久久久久| 日韩在线观看网址| www亚洲国产| 日韩在线视频在线| 少妇一晚三次一区二区三区| 国产综合福利在线| 国产麻豆乱码精品一区二区三区| 91高潮精品免费porn| 青青草精品毛片| 91精品国产777在线观看| 久久久免费观看| 国产精品美女诱惑| 欧美激情xxxxx| 久久精品国产久精国产一老狼| 99国精产品一二二线| 国产精品免费一区二区三区四区| 色偷偷av亚洲男人的天堂| 久久久亚洲天堂| 久久精品国产69国产精品亚洲| 国产精品久久视频| 欧美黄网在线观看| 国产伦视频一区二区三区| 91国产精品91| 久久久福利视频| 91传媒视频免费| 97人人模人人爽人人喊38tv| 亚洲精品一品区二品区三品区| 久久久久日韩精品久久久男男| 国产日产亚洲精品| 欧美精品久久久久久久免费观看| 久久久噜噜噜久久中文字免| 国产小视频免费| 日韩精品电影网站| 一区二区视频在线观看| 啊v视频在线一区二区三区| 五月婷婷一区| 国产欧美日韩最新| 国产激情久久久久| 国产自偷自偷免费一区| 国产精选一区二区| 国产成人精品一区二区| 99视频在线免费| 亚洲v国产v| 国模一区二区三区私拍视频| 日韩a在线播放| 国产一区二区视频在线观看| 亚洲wwwav| 91精品视频观看| 蜜桃成人免费视频| 日韩免费高清在线观看| 亚洲精品在线免费看| 色综合久久悠悠| 国产精品久久久久久久久| 久久99精品久久久久久久久久| 成人精品小视频| 国产欧美久久久久久| 激情视频一区二区| 欧美亚洲另类在线| 日韩国产欧美一区| 午夜精品久久久99热福利| 九九热精品视频在线播放| 国产精品入口日韩视频大尺度| 久久精品香蕉视频| 91国在线精品国内播放| 欧美成年人视频网站欧美| 97久久伊人激情网| 欧美无砖专区免费| 日产国产精品精品a∨| 亚洲综合精品伊人久久| 欧美激情图片区| 欧美人交a欧美精品| 精品国产无码在线| 欧美成年人视频| 精品乱子伦一区二区三区| 久久精品国产欧美激情| 国产日本欧美一区| 亚洲三级一区| 一本久道久久综合狠狠爱亚洲精品| 精品不卡一区二区三区| 国产精品久久不能| 欧美成人四级hd版| 欧美激情网站在线观看| 亚洲中文字幕无码不卡电影| 亚洲在线免费视频| 日韩一区二区三区资源| 日本亚洲欧美三级| 日韩视频免费播放| 欧美日韩亚洲综合一区二区三区激情在线| 欧美日韩喷水| 欧美大陆一区二区|