SOUL-Quiz Feature

39 阅读3分钟

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 代写SOUL-Quiz Feature CurrencyConverter has three fields, representing data information, as the field names and types in the UML class diagram. o 1) Exchange rate
  1. Commission rate
  2. 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 US50000.oUsetheyenConvertertoconvert1500000yenstoUSdollars.oUsetheyenConvertertoconvertfromUS50000. o Use the yenConverter to convert 1500000 yens to US dollars. o Use the yenConverter to convert from US2000 to yens. o Set the exchange rate of euro to 0.9881. o Use the euroConverter to convert 170000 euros to US.oUsetheeuroConvertertoconvertfromUS. o Use the euroConverter to convert from US20000 to euros. Sample Program Output --- Currency Conversion System, A2, OOP, 2024 *** 1500000 yens = US12958.0812445981US 12958.0812445981 US 2000 = 231284.30000000002 yens 170000 euros = US172021.55652261918US 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.

                                                                           WX:codinghelp