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

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

CS 04450代寫(xiě)、代做Java編程設(shè)計(jì)

時(shí)間:2024-05-20  來(lái)源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)


CS 04450代寫(xiě)、代做Java編程設(shè)計(jì)
Coursework: SCUPI+, A Java Application for Film Query
CS 04450 Data Structure, Department of Computer Science, SCUPI
Spring 2024
This coursework sheet explains the work in details. Please read the instructions carefully and
follow them step-by-step. For submission instructions, please read the Sec. 4. If you have any
queries regarding the understanding of the coursework sheet, please contact the TAs or the
course leader. Due on: 23:59 PM, Wednesday, June 5th.
1 Introduction
A developer of a new Java application has asked for your help in storing a large amount of fflm data
efffciently. The application, called SCUPI+, is used to present data and fun facts about fflms, the
cast and crew who worked on them, and some ratings the developer has gathered in there free time.
However, because the developer hasn’t taken the module, they don’t want to design how the data is
stored.
Therefore, this coursework and the task that the developer has left to you, is to design one or more
data structures that can efffciently store and search through the data. The data consists of 3 separate
ffles:
• Movie Metadata: the data about the fflms, including there ID number, title, length, overview
etc.
• Credits: the data about who stared in and produced the fflms.
• Ratings: the data about what different users thought about the fflms (rated out of 5 stars), and
when the user rated the fflm.
To help out, the developer of SCUPI+ has provided classes for each of these. Each class has been
populated with functions with JavaDoc preambles that need to be fflled in by you. As well as this,
the developer has also tried to implement the MyArrayList data structure into a 4th dataset (called
Keywords), to show you where to store your data structures and how they can be incorporated into
the pre-made classes. Finally, the developer has left instructions for you, which include how to build,
run and test you code; and the ffle structure of the application (see Sec. 3).
Therefore, your task is to implement the functions within the Movies, Credits and Ratings classes
through the use of your own data structures.
2 Guidance
First, don’t panic! Have a read through the documentation provided in Sec. 3. This explains how to
build and run the application. This can be done without writing anything, so make sure you can do
that ffrst.
Then you can have a look at the comments and functions found in the Movies, Credits and
Ratings classes. The location of these is described in Sec. 3.5.2. Each of the functions you need to
implement has a comment above it, describing what it should do. It also lists each of the parameters
1for the function (lines starting with @param), and what the function should return (lines starting with
@return).
When you are ready to start coding, We would recommend starting off with the Rating class
ffrst. This is because it is smallest of the 3 required, and is also one of the simplest. When you have
completed a function, you can test it using the test suit described in Sec. 3.5.3. More details about
where the code for the tests are can be found in Sec. 3.4.
3 SCUPI+
SCUPI+ is a small Java application that pulls in data from a collection of Comma Separated Value
(CSV) ffles. It is designed to have a lightweight user interface (UI), so that users can inspect and
query the data. The application also has a testing suit connected to it, to ensure all the functions
work as expected. The functions called in the SCUPI+ UI are the same as those called in the testing,
so if the tests work, the UI will also work.
3.1 Required Software
For the SCUPI+ to compile and run, Java 21 is required, make sure you download this speciffc version
of Java. Whilst a newer version of Java can be utilised, other parts of the application will also have to
be updated and this has not been tested. Although you can always have a try with your own version,
it is highly recommended you download and use Java 21.
3.2 Building SCUPI+
To compile the code, simply run the command shown in the table below in the working directory (the
one with src folder in it).
Linux/DCS System MacOS Windows
./gradlew build ./gradlew build ./gradlew.bat build
3.3 Running the SCUPI+ Application
To run the application, simply run the command shown in the table below in the working directory
(the one with src folder in it).
Linux/DCS System MacOS Windows
./gradlew run ./gradlew run ./gradlew.bat run
This command will also compile the code, in case any ffles have been changed. When this is done,
a window will appear with the UI for the application. The terminal will not be able to be used at this
time. Instead it will print anything required from the program. To stop the application, simply close
the window or press CTRL+C at the same time in the terminal.
23.4 Running the SCUPI+ Test Suit
To run the tests, simply run the command shown in the table below in the working directory (the one
with src folder in it).
Linux/DCS System MacOS Windows
./gradlew test ./gradlew test ./gradlew.bat test
This command will also compile the code, in case any ffles have been changed. When ran, this will
produce the output from each test function. It will also produce a webpage of the results, which can
be found in build/reports/tests/test/index.html
3.5 SCUPI+ File Structure
Every effort has been made to keep the ffle structure simple and clean, whilst maintaining good coding
practices. In the following subsections, a brief description of each of the key directories is given, along
with its contents and what you need to worry about in them.
3.5.1 data/
This directory stores all the data ffles that are pulled into the application. There are 4 .csv ffles in
this directory, 1 for each of the datasets described in Sec. 1. Each line in these ffles is a different entry,
with values being separated by commas (hence the name Comma Separated Values). You do not need
to add, edit or remove anything from this directory for your coursework. More details on how these
ffles are structured can be found in Sec. 3.6.
3.5.2 src/main/
This directory stores all the Java code for the application. As such, there are a number of directories
and ffles in this directory, each of which are required for the application and/or the UI to function.
To make things simpler, there are 3 key directories that will be useful for you:
• java/interfaces/: stores the interface classes for the data sets. You do not need to add, edit
or remove anything from this directory, but it may be useful to read through.
• java/stores/: stores the classes for the data sets. This is where the Keywords, Movies, Credits
and Ratings from Sec. 1 are located, the latter 3 of which are the classes you need to complete.
Therefore, you should only need to edit the following ffles:
– Movies.java: stores and queries all the data about the fflms. The code in this ffle relies
on the Company and Genre classes.
– Credits.java: stores and queries all the data about who stared in and worked on the
fflms. The code in this ffle relies on the CastCredit, CrewCredit and Person classes.
– Ratings.java: stores and queries all the data about the ratings given to fflms.
• java/structures/: stores the classes for your data structures. As an example, a array list
MyArrayList has been provided there. Any classes you add in here can be accessed by the classes
in the stores directory (assuming the classes you add are public). You may add any ffles you wish
to this directory, but MyArrayList.java and IList.java should not be altered or removed, as
these are relied on for Keywords.
33.5.3 src/test/
This directory stores all the code that related solely to the JUnit tests. As such, there is a Java ffle
for each of the stores you need to implement. You do not need to add, edit or remove anything from
this directory for your coursework.
3.6 Data used for SCUPI+
All of the data used by the SCUPI+ application can be found in the data directory. Each ffle in
this directory contains a large collection of values, separated by commas (hence the CSV ffle type).
Therefore, each of these can be opened by your favourite spreadsheet program. Most of these values
are integers or ffoating point values, but some are strings. In the cases of strings, double quotation
marks (”) are used at the beginning and end of the value. Where multiple elements could exist in that
value, a JSON object has been used. You do not need to parse these ffles, SCUPI+ will do that for
you in the LoadData class. The data generated by the LoadData class is passed to the corresponding
data store class (Movies, Credits, Ratings and Keywords) using the add function.
To make development easier, we have provided only 1000 fflms present in the data. This means
that there are 1000 entries in the credits data set, and 1000 entries in the keywords data set. However,
some fflms may not have any cast and/or crew (that information may not have been released yet, or
it is unknown), some fflms don’t have keywords and some fflms may not have ratings. In these cases,
an empty list of the required classes will be provided the add function.
3.6.1 Key Stats
Films 1000
Credits
Film Entries 1000
Unique Cast 11483
Unique Crew 9256
Ratings 17625
Keywords
 Film Entires 1000
Unique Keywords 2159
3.6.2 Movies Metadata
The following is a list all of the data stored about a fflm using the column names from the CSV ffle, in
the same order they are in the CSV ffle. Blue ffelds are ones that are added through the add function
in the Movies class.
• adult: a boolean representing whether the fflm is an adult fflm.
• belongs to collection: a JSON object that stores all the details about the collection a fflm
is part of. This is added to the fflm using the addToCollection function in the Movies class.
If the fflm is part of a collection, the collection will contain a collection ID, a collection name, a
poster URL related to the collection and a backdrop URL related to the collection.
• budget: a long integer that stores the budget of the fflm in US Dollars. If the budget is not
known, then the budget is set to 0. Therefore, this will always be greater than or equal to 0.
• genres: a JSON list that contain all the genres the fflms is part of. Each genre is represented
as a key-value pair, where the key is represented as an ID number, and the value is represented
as a string. SCUPI+ passes this as an array of Genre objects.
4• homepage: a string representing a URL of the homepage of the fflm. If the fflm has no homepage,
then this string is left empty.
• tmdb id: an integer representing the ID of the fflm. This is used to link this fflm to other pieces
of data in other data sets.
• imdb id: a string representing the unique part of the IMDb URL for a given fflm. This is added
using the setIMDB function in the Movies class.
• original language: a 2-character string representing the ISO 639 language that the fflm was
originally produced in.
• original title: a string representing the original title of the fflm. This may be the same as
the title ffeld, but is not always the case.
• overview: a string representing the an overview of the fflm.
• popularity: a ffoating point value that represents the relative popularity of the fflm. This value
is always greater than or equal to 0. This data is added by the setPopularity function in the
Movies class.
• poster path: a string representing the unique part of a URL for the fflm poster. Not all fflms
have a poster available. In these cases, an empty string is given.
• production companies: a JSON list that stores the production countries for a fflm. Each entry
in the JSON list has a key value pair, where the key is the ID of the company, and the value is
the name of the company. SCUPI+ parses each list element into a Company object. This object
is the added using the addProductionCompany in the Movies class.
• production countries: a JSON list that stores the production countries for a fflm. Each entry
in the JSON list has a key value pair, where the key is the ISO 3166 2-character string, and the
value is the country name. SCUPI+ parses only handles the key, and uses a function to match
this to the country name. This string is added using the addProductionCountry in the Movies
class.
• release date: a long integer representing the number of seconds from 1
st January 1970 when
the fflm was released. SCUPI+ passes this into a Java Calendar object.
• revenue: a long integer representing the amount of money made by the fflm in US Dollars. If
the revenue of the fflm is not known, then the revenue is set to 0. Therefore, this will always be
greater than or equal to 0.
• runtime: a ffoating point value representing the number of minutes the fflm takes to play. If the
runtime is not know, then the runtime is set to 0. Therefore, this will always be greater than or
equal to 0.
• spoken languages: a JSON list that stores all the languages that the fflm is available in. This
is stored as a list of key-value pairs, where the key is the 2 -character ISO 639 code, and the
value is the language name. SCUPI+ parses these as an array of keys stored as strings.
• status: a string representing the current state of the fflm.
• tagline: a string representing the poster tagline of the fflm. A fflm is not guaranteed to have
a tagline. In these cases, an empty string is presented.
• title: a string representing the English title of the fflm.
• video: a boolean representing whether the fflm is a ”direct-to-video” fflm.
5• vote average: a floating point value representing an average score as given by a those on IMDb
at the time the data was collected. As such, it is not used in the Review dataset. The score will
always be between 0 and 10. This data is added using the setVote function in the Movies class.
• vote count: an integer representing the number of votes on IMDb at the time the data was
collected, to calculate the score for vote average. As such, it is not used in the Review dataset.
This will always be greater than or equal to 0. This data is added using the setVote function
in the Movies class.
3.6.3 Credits
The following is a list all of the data stored about the cast and crew of a film using the column names
from the CSV file, in the same order they are in the CSV file. All these fields are used by SCUPI+:
• cast: a JSON list that contains all the cast for a particular film. In the JSON list, each cast
member has details that relate to there role in the film and themselves. SCUPI+ passes this
into an array of Cast objects, with as many fields populated as possible.
• crew: a JSON list that contains all the crew for a particular film. In the JSON list, each crew
member has details that relate to there role in the film and themselves. SCUPI+ passes this
into an array of Crew objects, with as many fields populated as possible.
• tmdb id: an integer representing the film ID. The values for this directly correlates to the id
field in the movies data set.
3.6.4 Ratings
The following is a list all of the data stored about the ratings for a film using the column names from
the CSV file, in the same order they are in the CSV file. Blue fields are ones that are actually used
by SCUPI+:
• userId: an integer representing the user ID. The value of this is greater than 0.
• movieLensId: an integer representing the MovieLens ID. This is not used in this application, so
can be disregarded.
• tmdbId: an integer representing the film ID. The values for this directly correlates to the id field
in the movies data set.
• rating: a floating point value representing the rating between 0 and 5 inclusive.
• timestamp: a long integer representing the number of seconds from 1st January 1970 when the
rating was made. SCUPI+ passes this into a Java Calendar object.
3.6.5 Keywords
The following is a list all of the data stored about the keywords for a film using the column names
from the CSV file, in the same order they are in the CSV file. All these fields are used by SCUPI+:
• tmdb id: an integer representing the film ID. The values for this directly correlates to the id
field in the movies data set.
6• keywords: a JSON list that contains all the keywords relating to a given film. Each keyword is
represented as a key-value pair, where the key is represented as an ID number, and the value is
represented as a string. SCUPI+ passes this into an array of Keyword objects.
4 Submission
You should submit one .zip file, containing the following files:
• (50 marks) Three data store files for marking the unit tests:
– src/main/java/stores/Movies.java
– src/main/java/stores/Credits.java
– src/main/java/stores/Ratings.java
Also, submit any data structure files that has been created by you (DO NOT submit the
MyArrayList we provided). Please note that when using these data structures, please place
them under the directory src/main/java/structures, as what we will do when running your
program.
• (50 marks) A PDF report (≤ 1500 words) discussing the data structure(s) you have implemented
for the 3 data stores. More specifically:
– (20 marks) Justify your choice of the data structure(s) among so many other data structures.

 (20 marks) Discuss how you use the data structure(s) to build the required operations in
the 3 data stores.
– (10 marks) An extra 10 marks are for the organisation and presentation of your report.
In the end, please don’t forget to compress all these files into a .zip file, and name the .zip file as:
”[CW]-[Session Number]-[Student ID]-[Your name]”

請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp




 

掃一掃在手機(jī)打開(kāi)當(dāng)前頁(yè)
  • 上一篇:CS 04450代寫(xiě)、代做Java編程設(shè)計(jì)
  • 下一篇:代做COMP2K、代寫(xiě)Python程序設(shè)計(jì)
  • 無(wú)相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢(qián)_專(zhuān)業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢(qián)_專(zhuān)業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場(chǎng)仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢(xún)服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢(xún)服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢(xún)外包_剛強(qiáng)度疲勞振動(dòng)
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢(xún)外包_剛強(qiáng)度疲
    流體cfd仿真分析服務(wù) 7類(lèi)仿真分析代做服務(wù)40個(gè)行業(yè)
    流體cfd仿真分析服務(wù) 7類(lèi)仿真分析代做服務(wù)4
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手,多多出評(píng)軟件徽y1698861
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢(xún)服務(wù)平臺(tái)
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢(xún)服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗(yàn)證碼 豆包網(wǎng)頁(yè)版入口 破天一劍 目錄網(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號(hào)-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    欧美老少配视频| 91精品国产自产在线| 国产乱人伦精品一区二区| 久久精品久久精品亚洲人| 亚洲a区在线视频| 福利视频一区二区三区四区| 久久在线免费观看视频| 精品欧美一区二区精品久久| 日韩亚洲在线观看| 日本a级片电影一区二区| 91精品国产91久久| 精品国产一区二区三区久久久久久 | 日韩一区免费观看| 国产亚洲欧美一区二区| 久久久久久久久久久久久久国产| 亚洲黄色网址在线观看| 成人精品网站在线观看| 中文字幕av导航| 国产欧美日韩中文字幕| 久久这里只有精品99| 欧美激情视频一区二区三区| 久久久久久久久爱| 日韩精品欧美一区二区三区| 亚洲欧美日韩精品综合在线观看| 欧美性受xxx| 国产精品激情自拍| 国产精品一二三视频| 日韩视频在线免费看| 国产精品久久久久国产a级| 国产极品美女高潮无套久久久| 欧美综合在线观看| 久久久久久久少妇| 欧洲黄色一级视频| 国产精品嫩草在线观看| 国产三级精品网站| 亚洲伊人成综合成人网| 国产夫妻自拍一区| 欧美牲交a欧美牲交aⅴ免费下载 | 久艹在线免费观看| 欧美精品一区三区在线观看| 久久综合九色九九| 超碰免费在线公开| 日韩av高清在线看片| 久久精品2019中文字幕| 国产日韩欧美视频| 亚州欧美日韩中文视频| 久艹在线免费观看| 黄色a级在线观看| 一区二区三区在线视频111 | 久久久久久18| 97欧洲一区二区精品免费| 色中色综合成人| 日韩网站免费观看| 国产裸体免费无遮挡| 日韩在线一级片| 国产精品欧美激情在线播放| 白白操在线视频| 欧美一二三不卡| 毛片精品免费在线观看| 68精品久久久久久欧美| 欧美又大又粗又长| 欧美激情久久久久久| 国产99视频在线观看| 色综合久久av| 欧美激情视频一区二区三区| 亚洲精品一区二区毛豆| 亚洲最新免费视频| 日韩在线国产| 黄色网在线视频| 91精品国产91久久久久久| 日韩在线高清视频| 美日韩精品免费视频| 国产精品久久久久久久久久久久午夜片| 国产视频不卡| 日av在线播放中文不卡| 久久亚洲电影天堂| 久久精品国产美女| 国产欧美在线视频| 日韩黄色片在线| 在线观看污视频| 国产不卡一区二区三区在线观看| 欧美不卡福利| 手机成人av在线| 久久久久久91| 国产精品女视频| 日韩在线www| 草b视频在线观看| 狠狠综合久久av| 日韩精品一区二区三区丰满| 亚洲自拍欧美色图| 欧美乱妇高清无乱码| 久久99精品国产一区二区三区| av资源一区二区| 国产日韩欧美日韩大片| 黄色一级片黄色| 日产国产精品精品a∨| 久久夜色精品国产亚洲aⅴ| 色婷婷av一区二区三区久久| 久久久在线观看| 国产精品一区二区三区观看| 国产一区在线播放| 精品欧美国产| 欧美最大成人综合网| 日韩av电影在线网| 亚洲欧美日韩国产成人综合一二三区| 国产精品成人免费电影| 久热国产精品视频| 久久久久久久久久久久久国产精品| 91高跟黑色丝袜呻吟在线观看| 国产精品极品尤物在线观看| 国产婷婷一区二区三区| 欧美一区二区三区精美影视| 国产最新精品视频| 国产精品色婷婷视频| 国产在线精品一区免费香蕉| 欧美老少配视频| 国产精品99久久久久久久久久久久 | 91久久国产婷婷一区二区| 青青青在线视频播放| 亚洲人成无码www久久久| 欧美激情久久久久久| 免费不卡欧美自拍视频| 国产精品国产对白熟妇| 久久精品成人一区二区三区| xxav国产精品美女主播| www国产亚洲精品久久网站| 久久久久久久久久网| 久久久久久久久久久av| www.亚洲一区| 国产精品福利片| 欧美成人精品一区二区| 欧美激情亚洲另类| 欧美激情免费在线| 亚洲永久在线观看| 日本一区二区三区在线播放| 青青青在线播放| 国模精品视频一区二区三区| 精品一区二区成人免费视频| 国模视频一区二区| 俄罗斯精品一区二区| 91高潮精品免费porn| 久久久久久久国产精品| 国产精品欧美一区二区三区奶水| 国产精品高清免费在线观看| 欧美激情一区二区三级高清视频| 亚洲色欲综合一区二区三区| 三年中国中文在线观看免费播放 | 亚洲人精品午夜射精日韩| 熟女视频一区二区三区| 三级网在线观看| 欧美精品久久久久久久免费| 国产淫片免费看| 91精品视频在线看| 日韩一级裸体免费视频| 日韩国产小视频| 亚洲va欧美va在线观看| 亚洲一区二区在线免费观看| 色偷偷888欧美精品久久久| 国产精品96久久久久久又黄又硬| 91精品国产色综合| 久久香蕉综合色| 国产成人自拍视频在线观看| 久久久999视频| 久久久久久久久久久免费视频| 久久久久福利视频| 欧美午夜精品久久久久久蜜| 国产一区亚洲二区三区| 91久色国产| 精品国产欧美成人夜夜嗨| 欧美日韩成人在线播放| 日韩av免费电影| 国产色视频一区| 久久国产精品久久| 精品国产第一页| 日本不卡二区| 国产欧美日韩免费| 国产chinese精品一区二区| 欧美成aaa人片免费看| 日本在线播放不卡| 狠狠色伊人亚洲综合网站色| 91av网站在线播放| 国产精品视频xxxx| 亚洲乱码一区二区三区三上悠亚| 欧美精品一区二区三区在线四季| 国产精品自产拍在线观| 久久久久久亚洲精品不卡4k岛国| 国产a∨精品一区二区三区不卡| 日本免费a视频| 国产免费一区二区三区在线观看| 久久99精品久久久久久秒播放器| 中文字幕人成一区| 欧美黄色免费影院| 久久免费视频在线| 欧美精品激情在线| 欧美亚洲日本黄色| 69**夜色精品国产69乱| 精品国产_亚洲人成在线 | 欧美激情久久久久久| 欧美精彩一区二区三区| 久久久7777|