黑马程序员技术交流社区

标题: 编写一个时间转换的代码 [打印本页]

作者: sun~~    时间: 2013-2-24 16:23
标题: 编写一个时间转换的代码
把输入的时间为3时65分15秒转换为4时5分15秒??
希望大家帮帮忙?
作者: 陈圳    时间: 2013-2-24 18:38
本帖最后由 陈圳 于 2013-2-24 18:58 编辑

public String getTime(int h,int m,int s)
        {//4:78:341
                if(s>59)
                {
                        m+=(int)(s/60);
                        s%=60;
                }
                if(m>59)
                {
                        h+=(int)(m/60);
                        m%=60;
                }
                return h+"时"+m+"分"+s+"秒";
        }
如果你要的是把3时65分15秒这个字符串中的数提取出来,再赋值给h,m,s的话,也很简单...
作者: 陈圳    时间: 2013-2-24 20:22
给你把字符串值取出.然后运算后正确结果再赋给字符对象的代码写好了.
  1. package Day14;
  2. //import static java.lang.System.out;
  3. class Demo1
  4. {
  5.         private String str;
  6.         public static void main(String[] args)
  7.         {
  8.                 //将字符串中进行反转,将指定部分进行反转
  9.                 Demo1 d=new Demo1();
  10.                 d.str="3时78分214秒";
  11.                 sop("初始时间为"+d.str);
  12.                 Integer[] arr1=d.setTime();
  13.                 System.out.println("更正时间为:"+d.getTime(arr1[0],arr1[1],arr1[2]));
  14.         }
  15.         public String getTime(Integer h,Integer m,Integer s)//这是重算函数.传入三个Integer的参数h/m/s
  16.         {//4:78:341
  17.                 if(s>59)
  18.                 {
  19.                         m+=(int)(s/60);
  20.                         s%=60;
  21.                 }
  22.                 if(m>59)
  23.                 {
  24.                         h+=(int)(m/60);
  25.                         m%=60;
  26.                 }
  27.                 return h+"时"+m+"分"+s+"秒";
  28.         }
  29.         public Integer[] setTime()//获得字符串值的时/分/秒值,存放在Integer[]数组里
  30.         {
  31.                 Integer[] arr1=new Integer[3];
  32.                 String[] sarr=new String[2];
  33.                 for(int i=0;i<arr1.length;i++)
  34.                 {
  35.                         if(i==0)
  36.                         {
  37.                                 sarr=this.str.split("时");
  38.                                 this.str=sarr[1];
  39.                         }
  40.                         else if(i==1)
  41.                         {
  42.                                 sarr=this.str.split("分");
  43.                                 this.str=sarr[1];
  44.                         }
  45.                         else if(i==2)
  46.                         {
  47.                                 sarr=this.str.split("秒");//214
  48.                         }
  49.                         //sop("sarr:"+sarr[0]);
  50.                         arr1[i]=new Integer(sarr[0]);
  51.                 }
  52.                 return arr1;
  53.         }
  54.         public static void sop(Object obj)
  55.         {
  56.                 System.out.println(obj);
  57.         }
  58. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2