1. 程式人生 > >2018/12/08 L1-043 閱覽室 Java

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); } } }