package com.itheima;
import java.util.Scanner;
/**
需求: 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
键盘输入6,打印6秒;
键盘输入60,打印1分;
键盘输入66,打印1分6秒;
键盘输入666,打印11分6秒;
键盘输入3601,打印1小时1秒
思路: 写一个函数,功能为输入一个正整数,按照格式打印出来
建立一个数组,分别对应天,时,分,秒
换算
按格式输出
用Scanner扫描,输入的数并传递
调用功能函数
@author run_wind
*/
class Test2
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
while (true)
{
//输入一个数,并将输入信息的下一个标记扫描为一个 int
System.out.print("请输入一个正整数:");
int num = in.nextInt();
printTime(num);
}
}
//输入一个数,转换成对应的时间并打印
public static void printTime(int num)
{
//数组arr[0],arr[1],arr[2],arr[3]分别对应天,时,分,秒
int[]arr = new int[4];
int pos = arr.length;
while (num>0)
{
//如果分秒大于60分钟,则进1
int tmp = num%60;
arr[--pos] = tmp;
num = num/60;
//小时如果大于24小时,则进1
if (arr[1]>=24)
{
arr[0] = arr[1]/24;
arr[1] = arr[1]%24;
}
}
//按格式输出数组
for (int i=0; i<arr.length; i++)
{
//如果不等于0则进入循环选择打印
if (arr[i]!=0)
{
switch (i)
{
case 0:System.out.print(arr[i] + " 天 "); break;
case 1:System.out.print(arr[i] + " 时 "); break;
case 2:System.out.print(arr[i] + " 分 "); break;
case 3:System.out.print(arr[i] + " 秒 "); break;
default:break;
}
}
}
System.out.println();//换行
}
}
|