program 讲解 、java 编程语言辅导
o Finish this work, based on concepts and techniques learnt in our course.
o Students should finish reviewing the related course notes and materials, before doing this assignment. o Individual work: Student MUST FINISH THIS WORK ALONE. Student cannot work with others.
* Plagiarism / Collusion / Shared work with others are not allowed. Zero mark will be given, with
possible disciplinary action.
o Questions related to program codes are based on Java programming language, unless specified. o Follow given instructions and guidelines.
Section A, A2A (10 marks): ONLINE (SOUL-Quiz Feature)
Multiple Choice (MC) and Matching Questions
o Identify and select the option of choice that "best" completes the statement, matches the item, or answers
the question.
o Number of Attempts Allowed: 2
o Grading method: Highest Grade
o Make sure you have successfully completed, "Finished" and submitted your work.
* Attempts must be submitted before time expires, or they are NOT counted.
o Questions related to program codes are based on Java programming language, unless specified. o 10 MC questions and 10 Matching questions. Each question carries the same mark.
Section B, A2B (20 marks): Programming Tasks
* Students may reference to the Practicing Labs to complete this task. Refer to the lab documents for details if necessary.
General requirements (unless further specified):
o Unless specified, no data validation required in the program (program runs in normal situations).
o Unless specified, do not create your own package.
o Unless specified, all related files (including *.java and *.class) should be working in the same
folder.
o Each source code *.java file must start with comments, including the information of individual student
(student name, student id, class number, year of study) as the given file, unless specified. Given Materials:
o This assignment document.
o The Java files CurrencyConverter.java and AskCurrencyConverter.java are to be modified
and completed by student. Also modify the top comments for your own Student Information.
1/3
A2B (20 marks)
Develop a Java Program to Model a
Currency Conversion System
Write a Java program of handling purchase orders by fulfilling the following requirements, which includes two classes: CurrencyConverter, and AskCurrencyConverter.
* This assessment work may not reflect a real and complete scenario in actual cases.
1.
Class CurrencyConverter [14 marks] o Create a public Java class
CurrencyConverter, in file CurrencyConverter.java, to model Currency Conversion based on the given UML, the naming and the descriptions below:
o The class CurrencyConverter has three fields, representing data information, as the field names and types in the UML class diagram.
o 1) Exchange rate
2) Commission rate
3) Threshold amount of money
o One public constructor which accepts 2 input parameters which simply sets its fields
with these input parameters accordingly.
o A related method converts US dollars to foreign currency:
If amount is greater than or equal to the threshold amount, applies half commission rate If amount is less than the threshold amount, applies full commission rate
Formula: dollar × exchangeRate × (1 - commission)
o A related method converts foreign currency to US dollars:
If equivalent USD amount is greater than or equal to the threshold amount, applies half commission rate
If equivalent USD amount is less than the threshold amount, applies full commission rate Formula: foreignMoney ÷ exchangeRate × (1 - commission)
o A related method sets/gets the exchange rate between USD and foreign currency. o A related method sets/gets the commission rate charged for conversion.
o A related method sets/gets the threshold amount for reduced commission.
CurrencyConverter
- exchangeRate: double
- commissionRate: double
- largeAmount: int
+ CurrencyConverter (er: double,
cr: double)
+ fromUSDollar(dollar: double):
double
+ toUSDollar(forignMoney: double): double
+ setExchangeRate(rate: double) +getExchangeRate(): double
+ setCommissionRate(rate: double)
+ getCommissionRate(): double
+ setLargeAmount(amount: int)
+ getLargeAmount(): int
2/3
Class AskCurrencyConverter [6 marks]
o Create a public Java class AskCurrencyConverter, in file AskCurrencyConverter.java,
as the main class of the Currency Conversion System based on the description below. o Instantiate two CurrencyConverter objects with the following attributes:
exchangeRate commissionRate
yenConverter 115.7 0.0005 euroConverter 0.9927 0.0003
o Set largeAmount to US$50000.
o Use the yenConverter to convert 1500000 yens to US dollars. o Use the yenConverter to convert from US$2000 to yens.
o Set the exchange rate of euro to 0.9881.
o Use the euroConverter to convert 170000 euros to US$.
o Use the euroConverter to convert from US$20000 to euros. Sample Program Output
--- Currency Conversion System, A2, OOP, 2024 ***
1500000 yens = US$ 12958.0812445981 US$ 2000 = 231284.30000000002 yens
170000 euros = US$ 172021.55652261918 US$ 20000 = 19756.0714 euros
>>> END of main(). Done by , , , <<<
Evaluation and Submission
o
o o
o o
o
Mark sure you follow the instructions, including the required naming (e.g. parameters, methods and files).
Compile, Run, Debug, Test and Evaluate your program based on the requirements.
Submit ALL required files to SOUL:
o Java Source code files: and
Compiled bytecode files: and
Do NOT compress/zip or rename the files. Submission work not following instructions and
requirements may not be marked or be penalized.
*IMPORTANT* No Late Submission. Make sure the submitted work is the most updated.
CurrencyConverter.java
AskCurrencyConverter.java
CurrencyConverter.class
AskCurrencyConverter.class
* Remarks:
o More testing may be performed during assessment based on the requirements, apart from the given testing cases.
2.
3.
~ END ~
3/3