• ADVANCED PROGRAMMING TECHNIQUES IN JAVA


    Hello, dear friend, you can consult us at any time if you have any questions, add WeChat
    Program Description
    This assignment will provide practice with HashMap , HashSet , and ArrayList . In particular, we will describe a problem, and you will have to decide which data structures to use to keep track of data and produce the desired output. There is not one correct way of doing this, and we won’t be grading you based on your runtime. However, we recommend that you choose data structures that make your life easier, i.e. that make it easier to program your solution.
    Detecting Fraudulent TA Timesheet Submissions
    Background
    At the Moon’s Computer Science Bootcamp, they rely heavily on teaching assistants (TAs) to ensure that all of the students get the help needed to succeed in the field of computer science.
    Because of the large number of students, they need the TAs to be able to help each student as quickly and as efficiently as possible. To ensure that the TAs are being helpful and fast at the same time, Moon’s Bootcamp requires that the TAs submit a timesheet entry for each student they help. Recently, after looking at the TA timesheet submissions, they suspect that some of the
    TAs are under-reporting the amount of time taken to help a student. Moon’s Bootcamp doesn’t want the TAs to feel as if they are being evaluated by how fast they help each student – but it’s an important metric to understand for planning purposes. Moon’s Bootcamp needs your help to automatically identify similar cases of “fraudulent” reports, to make sure the students receive adequate help without wasting funds.
    Billing & Reporting Process
    Moon’s Computer Science Bootcamp has separate systems for job tracking and billing:
    TAs indicate when they start helping a student by submitting a job start notice to the job tracking system.
    At any time while helping a student, the TA enters a single invoice into the billing system. The billing system then gives back a unique, increasing numeric invoice ID.
    Upon completion, TAs submit their invoice IDs to job tracking, which records that the jobs were completed. A TA must complete and submit all open jobs together (other students could’ve showed up while a TA is helping another student, and they must finish helping all students present before submitting their invoice IDs)
    Input
    You will receive strings in the form of .txt files. Each string will be on its own line and will correspond to one event each. These events are already sorted in terms of time, and take one of two forms:
    1. Job start events take the form ;START
    The TA_NAME is a unique identifier for the TA, and is guaranteed not to contain a  semicolon.
    2. Job completion events take the form ;(,)*
    The TA_NAME is the same unique identifier for the TA as before.
    INVOICE_IDs are integer values, guaranteed to fit within the value of an integer
    If a TA has multiple job started, then they will complete and submit invoice IDs for all started jobs as a single job completion event. These invoice IDs will be comma delimited, one invoice ID per job start event. These are referred to as "batch job completions”. For example, if a TA has started helping three students, then the next job completion from that TA is guaranteed to consist of three distinct invoice IDs. We do not know which invoice number corresponds to which job start event.
    You may assume that the input will always be well-formed and contain no extra characters
    or whitespace.
    To read through the text file, you will want to use a Scanner to extract each line from the file, and then another Scanner object for each line. When reading through each line, you want the Scanner object to use semicolons (;) and commas (,) as your delimiters, so that it reads out the TA_NAME and the START token or INVOICE_IDs as separate Strings. In class, we discussed how to do this by calling the useDelimiter method:
    input.useDelimiter("[;,]");
  • 相关阅读:
    websocket+node+vite(vue)实现一个简单的聊天
    硫化铅量子点,PbS QDs,近红外PbS量子点的特性(波尔半径大,量子效应显著)
    什么是屎山,自己的一点点小看法
    Spring Security 用了那么久,你对它有整体把控吗?
    推荐系统笔记(四):NGCF推荐算法理解
    活动选择问题
    OpenCV图像处理——目标追踪
    Java完全自学手册,从外包到大厂,再到年薪100万都靠它
    【开题报告】基于django+vue新闻发布系统(论文+程序)
    论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》
  • 原文地址:https://blog.csdn.net/zhuyu0206girl/article/details/138150912