网易互娱5道编程题第三题,输入怎么搞得,输入弄了很久
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; class DataType { long time; int flow; public DataType(long time,int flow) { this.time = time; this.flow = flow; } } public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int index = 0; List<DataType> list = new ArrayList<DataType>(); while (index < N) {//注意while处理多个case String str = br.readLine(); SimpleDateFormat sdf= new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); try { Date dt2 = sdf.parse(str.substring(0, 19)); int flow = Integer.parseInt(str.substring(20)); DataType dataType = new DataType(dt2.getTime() / 1000, flow); list.add(dataType); } catch (ParseException e) { e.printStackTrace(); } ++index; } int M = Integer.parseInt(br.readLine()); index = 0; while (index < M) {//注意while处理多个case String str = br.readLine(); System.out.println("in"); SimpleDateFormat sdf= new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); try { Date dt2 = sdf.parse(str.substring(0,19)); long time1 = dt2.getTime() / 1000; Date dt3 = sdf.parse(str.substring(21)); long time2 = dt3.getTime() / 1000; int sum = 0; for(int i = 0;i < list.size(); ++i) { if(list.get(i).time >= time1 && list.get(i).time <= time2) { sum += list.get(i).flow; } } System.out.println(sum); } catch (ParseException e) { e.printStackTrace(); } ++index; } } } 大神帮我看看,最后一个用例就是没输出5
02/12/2016 00:00:00 10
02/18/2016 12:00:00 45
02/18/2016 23:59:59 8
02/19/2016 08:00:15 20
02/22/2016 13:00:00 31
4
01/01/2014 00:00:00 01/01/2017 00:00:00
11/11/2016 11:11:11 02/14/2017 00:05:20
02/12/2016 00:00:00 02/18/2016 23:00:00
02/18/2016 12:00:00 02/18/2016 12:00:00 <- 这个总是没有输出