蓝桥杯入门题:时间转换

365 阅读1分钟

这题很明显是利用时针、分针、秒针之间的换算关系进行解题,一开始我是用数学关系式进行换算做出来的,后来觉得这种题目应该可以试着从计算机的角度进行解,又尝试了另外一种方式。下面是两种方法的代码

数学式:

package _12_26_test;

import java.util.Scanner;

/*时间转换
 * 
 * 60s=1m,60m=1h
 * 
 * */
public class nightteen {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner scanner = new Scanner(System.in);
		
		int t = scanner.nextInt();
		
		int s,m,h;
		
//		秒数
		s = t%60;
//		减掉秒数后剩余的分钟数
		m = (t-s)/60;
//		通过分钟数和int类型的定义,将满60的分钟数转换成时钟数
		h = m/60;
//		减掉转换成时钟数的分钟数,得到最后的分钟数
		m = m-h*60;
		
		System.out.println(h+":"+m+":"+s);
		
	}

}

转换式:

package _12_26_test;

import java.util.Scanner;

/*时间转换:方法二
 * 
 * 
 * 
 * */
public class nighteenTwo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner scanner = new Scanner(System.in);

		int t = scanner.nextInt();

		int s = t, m = 0, h = 0;

//		当秒数大于60,反复进行循环
		while (s >= 60) {
//			每循环一次:秒数减60
			s -= 60;
//			分钟数加1
			m += 1;
//			当分钟数等于60时,分钟清零,时钟加1
			if (m == 60) {
				m = 0;
				h += 1;
			}
		}

		System.out.println(h + ":" + m + ":" + s);

	}

}