华为机试-设计一个定时器管理系统

来源:互联网 发布:python 循环生成字典 编辑:程序博客网 时间:2024/04/30 01:16

设计一个定时器管理系统,可以动态启动、停止定时器,并能根据已失去的时长自动调整剩余的时间。
运行时间限制:1Sec
内存限制:无限制
输入:启动定时器:starttimmer: ID, time
举例:
starttimmer: 1, 1000
启动一个定时器,其ID为1,定时时长time为1000ms
注:定时器ID用例保证非负整数,定时时长一定为正整数
停止定时器:stoptimmer: ID
举例:
stoptimmer: 1
停止一个ID为1的定时器
注:定时器ID用例保证非负整数,如果停止的定时器ID不存在,则忽略。
逝去时长:elapse: time
举例:
elapse: 1000
时间逝去1000ms
注:用例保证时长一定为正整数
输入结束
end
输出:
按启动顺序输出还没有停止的定时器,如ID为1的定时器还有1000ms才结束
timer: 1, 1000
如果所有定时器都停止了,输出none
none

样例输入:
starttimer: 1, 1000
starttimer: 2, 2000
elapse: 1000
end
样例输出:timer: 2,1000

import java.util.HashMap;import java.util.Scanner;import java.util.Iterator;public class test{    public static void main(String []args) {        Scanner inputScanner = new Scanner(System.in);        HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();                while(inputScanner.hasNext()){            String str = inputScanner.nextLine();            String[] arr = str.split(":");            if("end".equals(arr[0])){                if(hashMap.isEmpty()){                    System.out.print("none");                }                else{                    Iterator it = hashMap.keySet().iterator();                    while(it.hasNext()){                        int key = (Integer)it.next();                        int value = hashMap.get(key);                        if(value>0){                            System.out.print("timer:"+key+","+value);                        }                    }                }                System.exit(0);            }               String[] ch = arr[1].split(",");            if("starttimer".equals(arr[0])){                hashMap.put(Integer.valueOf(ch[0]), Integer.valueOf(ch[1]));            }            else if("stoptimer".equals(arr[0])){                hashMap.remove(arr[1]);            }            else{                Iterator it = hashMap.keySet().iterator();                while(it.hasNext()){                    int key = (Integer)it.next();                    int value = hashMap.get(key)-Integer.valueOf(arr[1]);                    hashMap.put(key, value);                }            }     } }}
0 0
原创粉丝点击