网易互娱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 <- 这个总是没有输出

