本帖最后由 Sevenette 于 2014-5-19 19:00 编辑
从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
键盘输入6,打印6秒;
键盘输入60,打印1分;
键盘输入66,打印1分6秒;
键盘输入666,打印11分6秒;
键盘输入3601,打印1小时1秒
从键盘接收数字后 getTime()函数一直都没执行的样子... 经验欠缺,实在没找出原因,求大神帮忙解决
int i = 0;
while(time>0){
if(time/list>0){
sb.append(time/list+name);
time -= time/list*list;
}
↑↑↑改前的代码:if判断语句不正确改成time/list!=0;while循环改成 i<4 循环中加入i++;
time -= time/list*list;改成 time = time%list;
问题已解决~ 修改后代码如下,依旧感觉自己代码写的好奇葩...QAQ
- package com.itheima;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class Test {
- public static void main(String[] args) throws IOException {
-
- System.out.println("请输入时间秒数:");
- //从键盘读取数字
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- int time = Integer.parseInt(br.readLine());
- //处理数字
- getTime(time);
-
- }
- public static void getTime(int time) {
-
- StringBuffer sb = new StringBuffer();
-
- //创建数组记录换算单位
- int[] list = {86400,3600,60,1};
- String[] name = {"天","小时","分","秒"};
-
- //while循环4次
- int i = 0;
-
- while(i<4){
- if(time/list[i]!=0){
-
- sb.append(time/list[i]+name[i]);
-
- time = time%list[i];
- }
- i++;
- }
-
- System.out.println(sb.toString());
- }
- }
复制代码
|
|