Java中的Map-Reduce

Java中的Map-Reduce,java,Java,因此,我需要完成以下工作: 游戏公司在每小时结束时都会收到玩家的数据。每次玩家在游戏中购买东西时,CSV文件中会生成一个新行,格式如下: Input: fileContent: "2017-04-01, 11:25, 2; 2017-04-02, 11:30, 8; 2017-04-03, 14:42, 9; 2017-04-01, 11:42, 700; 2017-04-01, 11:00, 25; 2017-04-02, 14:56, 23; 2017-04-02, 18:20, 57; 2

因此,我需要完成以下工作: 游戏公司在每小时结束时都会收到玩家的数据。每次玩家在游戏中购买东西时,CSV文件中会生成一个新行,格式如下:

Input:
fileContent: "2017-04-01, 11:25, 2; 2017-04-02, 11:30, 8; 2017-04-03, 14:42, 9; 2017-04-01, 11:42, 700; 2017-04-01, 11:00, 25; 2017-04-02, 14:56, 23; 2017-04-02, 18:20, 57; 2017-04-03, 14:30, 8; 2017-04-03, 14:42, 12"
date: "2017-04-01"
hour: 11
Expected Output:
727
Where the first value is the date, the second one the time and the third one the amount of coins spent.
在得到文件的内容、特定日期和一小时(只有一小时,没有分钟)后,该公司想知道在这一小时内花了多少硬币。 我试图做到以下几点:

int MapReduceProblem(String fileContent, String date, int hour) {
    int coins;
    coins = 0;
    if(fileContent.contains(";")){
        String[] fileLines = fileContent.split("\\;");
        for(int i = 0; i <= fileLines.length; i++){
          String[] lineData = fileLines[i].split("\\,");
          String[] hourSplit = lineData[1].split("\\:");
          int fileHour = Integer.parseInt(hourSplit[0]);
            if(fileHour == hour){
                int coin = Integer.parseInt(lineData[2]);
                coins += coin;
            }
        }
        return coins;
    }
    else{
        String[] lineData = fileContent.split("\\,");
        String[] hourSplit = lineData[1].split("\\:");
        int fileHour = Integer.parseInt(lineData[0]);
            if(fileHour == hour){
                int coin = Integer.parseInt(hourSplit[2]);
                coins += coin;
            }
         return coins;
    }

}
问题是我无法访问main(这是一个实践问题,这就是我无法访问main的原因)。 我是java新手,如果您能尝试向我解释我失败的原因,我将不胜感激。
谢谢大家抽出时间

您试图将
2017-04-04
解析为一个数字,但它不是一个数字。您还需要在某处按
-
进行拆分。@Socowi可能只是将其解析为一个日期。方法名称在Java中是较低的。方法名称是由我练习的站点预定义的……参数也是如此。我只写了里面的代码。
Exception in thread "main" java.lang.AssertionError: java.lang.reflect.InvocationTargetException
    at myCode._invoke(file.java on line ?)
    at myCode.main(file.java on line ?)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at myCode._invoke(file.java on line ?)
    ... 1 more
Caused by: java.lang.NumberFormatException: For input string: "2017-04-04"