标题: 代码运算问题 [打印本页] 作者: 非同一般 时间: 2014-3-7 16:56 标题: 代码运算问题 class ZhouChao
{
public static void main(String[] args)
{
int x = 3601;
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
if(x>=0&&x<60)
{
System.out.println(x+"秒");
}
else if (60<=x&&x<3600)
{
a = (x / 60);
b = (x % 60);
System.out.println(a+"分钟"+b+"秒");
}
else if (3600<=x&&x<86400)
{
c = x / 3600;
d = x / 3600 % 3600;
e = x % 3600 % 60;
System.out.println(c+"小时"+d+"分钟"+e+"秒");
}
我是一个初学者,我想输入任何数,变成"小时"+"分钟"+"秒,在最后计算分钟时候“d = x / 3600 % 3600;”这行代码是错得,怎么才能准确计算出分钟数!
运行通过了啊,结果是1小时1分钟1秒, d = x / 3600 % 3600 这行的结果是d=1,怎么会出错呢
建议:eclipse中Project-->clean 一下,然后重新运行 作者: 云浮 时间: 2014-3-7 17:56
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
int time = getTime();//调用getTime(),将result的值返回给time
outTime(time);
}
private static int getTime() {//获取输入时间
boolean flag = true;//定义标记flag
int result = 0;//初始化result的值
while (flag){//对输入的值进行判断
Scanner in = new Scanner(System.in);//声明扫描仪in
System.out.println("输入一个大于0的整数:");
try{//将输入的值转成整数值
result = Integer.parseInt(in.nextLine());
if (result < 0) {
throw new Exception("输入的值必须大于等于0");
}
flag = false;//如果result大于0,则终止循环
} catch(Exception e) {//捕获异常,并输入异常信息
System.out.println("输入值非法,请输入大于0的整数!");
}
}
return result;//循环结束,返回result的值
}
private static void outTime(int time){//对输入值进行算术运算
int s = 0, m = 0, h = 0, d = 0;
if (time < 0){return ;}//小于零终止判断,此处有点多余
if (time < 60) {
s = time;
} else if (time >= 60 && time < 60*60 ){
m = time/60;
s = time%60;
} else if (time >= 60*60 && time < 24*60*60){
h = time/(60*60);
m = time%(60*60)/60;
s = time%(60*60)%60;
} else {
d = time/(24*60*60);
h = time%(24*60*60)/(60*60);
m = time%(24*60*60)%(60*60)/60;
s = time%(24*60*60)%(60*60)%60;
}
format(d, h, m, s);//调用format()格式化时间
}
//格式化时间
private static void format(int d, int h, int m, int s) {
String str = "";
if (d != 0) {
str += d + "天";
}
if (h != 0) {
str += h + "小时";
}
if (m != 0) {
str += m + "分钟";
}
if (s != 0) {
str += s + "秒";
}
System.out.println(str);
}
}作者: 艮昕辶 时间: 2014-3-7 18:19
class ZhouChao
{
public static void main(String[] args)
{
int x = 3601;
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
if(x>=0&&x<60)
{
System.out.println("0小时0分钟"+x+"秒");
}
else if (60<=x&&x<3600)
{
a = (x / 60);
b = (x % 60);
System.out.println("0小时"+a+"分钟"+b+"秒");
}
else if (3600<=x&&x<86400)
{
c = x / 3600;
d=(x-3600*(x/3600))/60;
e = x % 3600 % 60;
System.out.println(c+"小时"+d+"分钟"+e+"秒");
}
else if(x==86400)
{
System.out.println("0小时0分钟0秒");
}
}
}
版主能不能给点分啊 赚分好难啊 有这个时间我都想去看视频了作者: syw02014 时间: 2014-3-7 20:35
希望能帮到你:
public class Time_Change
{
public static String getDuration(int durationSeconds)