题目描述
读入两个用“时:分:秒”表示的时间点,计算以秒为单位的时间间隔。
输入
输入有两行,每行是一个用“时:分:秒”表示的时间点。测试数据保证第二个时间点晚于第一个时间点。
输出
输出一个整数,表示时间间隔的秒数。
样例输入
样例输出
先调到java代码再点提交.
import java.util.Scanner;
public class Main {
  public static void main(String[] args)
  {
	  Scanner in = new Scanner(System.in);
	  String str1 = in.next(),
			 str2 = in.next();
	  String a[] = str1.split(":",3),
			 b[] = str2.split(":",3);//两个,3都可省略
	  int h1 = Integer.parseInt(a[0]),
		  m1 = Integer.parseInt(a[1]),
		  s1 = Integer.parseInt(a[2]),
		  h2 = Integer.parseInt(b[0]),
		  m2 = Integer.parseInt(b[1]),
		  s2 = Integer.parseInt(b[2]);
	  System.out.printf("%d",(h2 - h1) * 3600 + (m2 - m1) * 60 + s2 - s1);
  }
} 
 
关键是如何读入:
next()读入到空格停止,nextLine()读入到回车停止.因此无法把时间当做数字而把:当做字符读入.
这里采用统一以字符串读入,然后分割调整类型的方式,用到两个函数
.split()
简单说,split在字符串中对指定的字符去除并进行分割,然后返回.
import java.util.*;
public class Main
{
	public static void main(String[] args)
   {
	   String str = "l i k e,d";
	   String a[] = str.split(" ");//去除空格并在空格处进行分割
	   for(int i = 0;i<a.length;i++)
		   System.out.println(a[i]);
   }
}
/*输出
l
i
k
e,d
*/ 
可以用|指定多个查找条件
import java.util.*;
public class Main
{
	public static void main(String[] args)
   {
	   String str = "l i k e,d";
	   String a[] = str.split(" |,");//去除空格和逗号,并在空格或逗号处进行分割
	   for(int i = 0;i<a.length;i++)
		   System.out.println(a[i]);
   }
}
/*输出
l
i
k
e
d
*/ 
还可以指定分割的分数
import java.util.*;
public class Main
{
	public static void main(String[] args)
   {
	   String str = "l i k e,d";
	   String a[] = str.split(" |,",3);//去除空格或逗号,并在空格或逗号处进行分割,
	   for(int i = 0;i<a.length;i++)   //且分成三份
		   System.out.println(a[i]);
   }
}
/*输出
l
i
k e,d
*/ 
Integer.parseInt()
将某进制的字符串转换为十进制数返回,默认为十进制
import java.util.*;
public class Main
{
	public static void main(String[] args) {
        int num = Integer.parseInt("11",2);//3
        System.out.println(num);
    }
}









