用java写一个从控制台输入时间,例如:25:61:87,转换输出为02:02:27 就是一个时间上的转换,四舍五入各位请给个答案,40分。

解决方案 »

  1.   

    控制台怎么能输入这种怪异的值呢。
    看看把(25*60*60+61*60+87)*1000化成 Long型 ,再转成Date或者Calendar
      

  2.   

    public class  Test
    {
    public static void main(String[] args)throws java.io.IOException
    {
    java.text.DateFormat df=new java.text.SimpleDateFormat("HH:mm:ss");
    System.out.println("请输入参数:");
    java.io.BufferedReader reader=new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
    String s;
    try{
    s=reader.readLine();
    while(!s.equals("exit"))
    {
    System.out.println("转换后:"+df.format(df.parse(s)));
    s=reader.readLine();
    }
    }catch(java.text.ParseException e)
    {
    System.out.println("输入的参数格式不对,请重新输入:");
    s=reader.readLine();
    }
    }
    }
      

  3.   

    我看明白了。
    可在catch中写s=reader.readLine();这句,编译器会要求还要求它在异常要抛出