2018/12/08 L1-043 阅览室 Java
考察了四舍五入的功能, 还有将题目转化成代码的能力, 代码如下: 这题是用数组实现的, 那么, 有没有可能用容器来实现
import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception{ // S为借书 E为还书 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int day = Integer.parseInt(br.readLine()); for(int i=0; i<day; i++) { int id=-1; double time=0; int num=0; // 当天总借书的次数. int[] mint = new int[1001]; boolean[] flag = new boolean[1001]; while(id!=0) { char a; int h,m; String[] str=br.readLine().split(" "); id = Integer.parseInt(str[0]); a = str[1].charAt(0); String[] bridge = str[2].split(":"); h = Integer.parseInt(bridge[0]); m = Integer.parseInt(bridge[1]); if(id == 0) { break; } else if(a == 'S') { mint[id] = h*60 + m; flag[id] = true; } else if(a == 'E') { if(flag[id]) { // 说明这本书是借过了的, 如果为false表示是误输入, 不进行计算. flag[id] = false; time += h*60+m-mint[id]; mint[id] = 0; num++; } } } int t = 0; if(num!=0) { time /= num; } t = (int)(time + 0.5); // 一条代码实现了四舍五入的功能, 如果小数部分小于0.5, 那么加上0.5后, 使用int转换后仍会被摸掉 System.out.println(num+" "+t); } } }